gpt4 book ai didi

python - 通过更新重复索引并将其余索引外连接来组合两个数据帧的最佳方法

转载 作者:行者123 更新时间:2023-12-01 00:12:59 24 4
gpt4 key购买 nike

组合以下两个数据框的最佳方法是什么?我想要:

  • desired_df 使用 new_df 中的价格来处理 new_df< 中任何重复的 securitydate 索引old_df (即更新下面示例中的 stock2)
  • desired_df 保留 old_df 中未出现在 new_df 中的任何条目(保留 stock3)
  • desired_df 包含 new_df 中未出现在 old_df 中的任何条目(添加 stock2)

这是我正在寻找的示例:

old_df = pd.DataFrame({'security': ['stock1', 'stock3'],'date': ['2019-12-23', '2019-12-23'],'price':[10,9]}).set_index(['security','date'])

new_df = pd.DataFrame({'security': ['stock1', 'stock2'],'date': ['2019-12-23', '2019-12-24'],'price':[11,12]}).set_index(['security','date'])

desired_df = pd.DataFrame({'security': ['stock1', 'stock2', 'stock3'],'date': ['2019-12-23', '2019-12-24', '2019-12-23'],'price':[11,12,11]}).set_index(['security','date'])

以下是 old_dfnew_df 和我的 desired_df 的打印输出:

print(old_df)
price
security date
stock1 2019-12-23 10
stock3 2019-12-23 9

print(new_df)

price
security date
stock1 2019-12-23 11
stock2 2019-12-24 12

print(desired_df)
price
security date
stock1 2019-12-23 11
stock2 2019-12-24 12
stock3 2019-12-23 9

最佳答案

IIUC,您可以使用combine_first :

desired_df = new_df.combine_first(old_df)
<小时/>
                     price
security date
stock1 2019-12-23 11.0
stock2 2019-12-24 12.0
stock3 2019-12-23 9.0

关于python - 通过更新重复索引并将其余索引外连接来组合两个数据帧的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59502680/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com