Pandas:获取数据框中的列表作为行

Pandas: getting a list inside a dataframe as row

我有一个这样的列表:

l1=[1,2,3,4,5,6,7,8]

这个列表应该是一行数据框,我是这样创建的:

df = pd.DataFrame(columns=['A','B','C','D','E','F','G','H'], index=['l1','l2','l3','l4'])

现在我希望 l1 的值出现在数据框的第一行中。我该怎么做?

我的尝试: df.loc['l1'] = pd.Series(l1)

但是这个 returns 一个空数据框:

     A     B     C     D     E     F     G     H
l1   NaN   NaN   NaN   NaN   NaN   NaN   NaN   NaN
l2   NaN   NaN   NaN   NaN   NaN   NaN   NaN   NaN
l3   NaN   NaN   NaN   NaN   NaN   NaN   NaN   NaN
l4   NaN   NaN   NaN   NaN   NaN   NaN   NaN   NaN

简单使用list:

df.loc['l1'] = l1
print (df)                      
      A    B    C    D    E    F    G    H
l1    1    2    3    4    5    6    7    8
l2  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN
l3  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN
l4  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN

或添加参数 index,其值为 df.column,因为 Seriesindex 必须与 DataFramecolumns 相同对齐方式:

df.loc['l1'] = pd.Series(l1, index = df.columns)
print (df)                      
      A    B    C    D    E    F    G    H
l1    1    2    3    4    5    6    7    8
l2  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN
l3  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN
l4  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN