gpt4 book ai didi

python - Pandas 将多个数据框合并并更新为一列

转载 作者:太空宇宙 更新时间:2023-11-04 09:54:22 26 4
gpt4 key购买 nike

我有三个数据框,索引为日期和价格列。我想将三个数据框合并为一个并合并价格列。我尝试按照这篇文章的建议进行合并 Python: pandas merge multiple dataframes但结果与轴 =1 的串联相同。

chained_price = reduce(lambda left, right: pd.merge(left, right, left_index=True, right_index = True,
how='right'), product_list)

product_list 是一个包含三个 df 的列表。

             price
date
2013-09-10 1.000000
2013-09-11 1.011578
2013-09-12 -1.006452

price
date
2013-09-11 3.011578
2013-09-12 5.006452
2013-09-13 6.000544

price
date
2013-09-12 8.011578
2013-09-13 7.006452
2013-09-14 10.000544

预期结果:

            price
date
2013-09-10 1.000000
2013-09-11 3.011578
2013-09-12 8.011578
2013-09-13 7.006452
2013-09-14 10.000544

有什么建议吗?

最佳答案

你需要 concat with drop duplicates 即

df4 = pd.concat(product_list).drop_duplicates('date',keep='last')
         date      price0  2013-09-10   1.0000000  2013-09-11   3.0115780  2013-09-12   8.0115781  2013-09-13   7.0064522  2013-09-14  10.000544

If date is index then

df4 = pd.concat(product_list)
df4[~df4.index.duplicated(keep='last')]

关于python - Pandas 将多个数据框合并并更新为一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46464000/

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