当我在索引数据帧中附加一行时,我得到一个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
答案 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)
将新创建的数据框附加到旧数据框。