簡體   English   中英

通過添加新行更新 pandas dataframe - 如何?

[英]update pandas dataframe with adding new rows - how?

讓我們有兩個 Python pandas 數據幀

df1:

key1 key2 volume1 volume2
111  bbb  fff      ggg
222  bbb  hhh      hhh
333  aaa  fff      hhh

df2:

key1 key2 volume1 volume2
222  bbb  hhh      HHH
333  aaa  fff      GGG
444  ccc  ggg      hhh

如何獲得 dataframe

東風:

key1 key2 volume1 volume2
111  bbb  fff      ggg
222  bbb  hhh      HHH
333  aaa  fff      GGG
444  ccc  ggg      hhh

使用DataFrame.merge將列key1, key2上的數據幀df1df2 outer合並,然后使用Series.fillna更新列volume1volume2中的值:

df3 = df1.merge(df2, on=['key1', 'key2'], how='outer', suffixes=['', '_r'])
df3['volume1'] = df3.pop('volume1_r').fillna(df3['volume1'])
df3['volume2'] = df3.pop('volume2_r').fillna(df3['volume2'])

結果:

# print(df3)

   key1 key2 volume1 volume2
0   111  bbb     fff     ggg
1   222  bbb     hhh     HHH
2   333  aaa     fff     GGG
3   444  ccc     ggg     hhh

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM