如何在索引数据框中追加一行

时间:2018-07-01 07:02:48

标签: python pandas

当我在索引数据帧中附加一行时,我得到一个NaN值。有人可以帮我解决问题吗?

这是我的代码:

mycolumns = ['A', 'B']
df = pd.DataFrame(columns=mycolumns)
rows = [[1,2],[3,4],[5,6]]
for row in rows:
   df.loc[len(df)] = row
print(df) 
df = df.set_index('A')
print("\n index\n",df)
print("\n=================")

dict = { 'A': 2 ,'B':5}
df = df.append(dict,ignore_index=True)
print("\n======================\n")
print(df)

以下是输出:

   A  B
   0  1  2
   1  3  4
   2  5  6

  index
     B
A   
1   2
3   4
5   6

=================

======================

B    A
0  2  NaN
1  4  NaN
2  6  NaN
3  5  2.0

1 个答案:

答案 0 :(得分:0)

您无法将字典追加到数据框,因为df.append()需要另一个数据框作为参数。您需要花点时间才能完成这项工作:

mycolumns = ['A', 'B']
dict = { 'A': 2 ,'B':5}
df2 = pd.DataFrame([[dict.get('A'), dict.get('B')]], columns=mycolumns)
df.append(df2)

我们首先在字典中创建一个新的数据框(如果可以的话,我也建议将字典结构更改为{'val_key': [2, 5],}

然后,我们可以使用df.append(df2)将新创建的数据框附加到旧数据框。