【问题标题】:python pandas - update dataframe, replace values, add new rows [duplicate]python pandas - 更新数据框,替换值,添加新行
【发布时间】:2020-10-13 09:48:44
【问题描述】:
df1 = pd.DataFrame({'date':['2020-06-15','2020-06-16','2020-06-17'], 'value':[1,2,3]})
 date       value
 2020-06-15 1
 2020-06-16 2
 2020-06-17 3

df2 = pd.DataFrame({'date':['2020-06-17','2020-06-19','2020-06-18'], 'value':[40,100,70]})
 date       value
 2020-06-17 40
 2020-06-19 100
 2020-06-18 70

我想使用 df2 中的新值更新和扩展 df1 到以下结果。以防索引不按顺序排列:

 date       value
 2020-06-15 1
 2020-06-16 2
 2020-06-17 40
 2020-06-18 70
 2020-06-19 100

非常感谢。

【问题讨论】:

    标签: python pandas dataframe merge append


    【解决方案1】:

    你可以像这样在一行中做到这一点:

    df = pd.concat([df1[~df1.date.isin(df2.date)], df2], ignore_index=True)
    print(df)
    #         date  value
    #0  2020-06-15      1
    #1  2020-06-16      2
    #2  2020-06-17     40
    #3  2020-06-18     50
    #4  2020-06-19     60
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-04
      • 1970-01-01
      • 2021-06-20
      • 1970-01-01
      • 2020-07-13
      • 2022-07-11
      • 2013-10-05
      • 1970-01-01
      相关资源
      最近更新 更多