熊猫尝试在数据框上添加一行,但会不断覆盖现有行

时间:2019-02-28 11:07:05

标签: python pandas

我的数据框(df_UP)如下:

        Total_trends    #up  #down  #flat
    0.05    811         326   310    175

当我尝试使用以下代码添加一行时,我正在使用jupyter笔记本:

`d = {'Total_trends': [total.time], '#up': [good_trigger.time], '#down': [bad_trigger.time], '#flat': [flat.time]}
df_UP.append(d, ignore_index=True)`

它第一次起作用:

Total_trends    #up #down   #flat
0   811 326 310 175
1   [811]   [326]   [310]   [175]

但是当我再次运行d中具有其他值的单元格时,它只是用新的覆盖了第1行中的现有数据,为什么?谢谢!

1 个答案:

答案 0 :(得分:1)

您可以将字典转换为DataFrame并分配回去:

d = {'Total_trends': [10], '#up': [20], '#down': [3], '#flat': [0]}

df_UP = df_UP.append(pd.DataFrame(d), ignore_index=True)
print (df_UP)
   Total_trends  #up  #down  #flat
0           811  326    310    175
1            10   20      3      0

d = {'Total_trends': [160], '#up': [270], '#down': [63], '#flat': [30]}
df_UP = df_UP.append(pd.DataFrame(d), ignore_index=True)
print (df_UP)

   Total_trends  #up  #down  #flat
0           811  326    310    175
1            10   20      3      0
2           160  270     63     30