gpt4 book ai didi

python - 连接两个数据框并在 Pandas 中删除重复项

转载 作者:太空宇宙 更新时间:2023-11-04 11:13:03 25 4
gpt4 key购买 nike

对于 df2只有 2019 年的数据:

  type  year  value
0 a 2019 13
1 b 2019 5
2 c 2019 5
3 d 2019 20

df1有多年数据:

  type  year  value
0 a 2015 12
1 a 2016 2
2 a 2019 3
3 b 2018 50
4 b 2019 10
5 c 2017 1
6 c 2016 5
7 c 2019 8

我需要在替换 df2 时将它们连接在一起在 2019 中的值使用来自 df1 的值同年。

预期的结果是这样的:

  type  date  value
0 a 2015 12
1 a 2016 2
2 b 2018 50
3 c 2017 1
4 c 2016 5
5 a 2019 13
6 b 2019 5
7 c 2019 5
8 d 2019 20

pd.concat([df1, df2], ignore_index=True, sort =False) 的结果,其中显然有多个 valueyear 2019 年的一个 type .我应该如何改进代码?谢谢。

   type  date  value
0 a 2019 13
1 b 2019 5
2 c 2019 5
3 d 2019 20
4 a 2015 12
5 a 2016 2
6 a 2019 3
7 b 2018 50
8 b 2019 10
9 c 2017 1
10 c 2016 5
11 c 2019 8

最佳答案

添加DataFrame.drop_duplicatesconcat 之后获取每个 typedate 的最后一行。

如果 typedate 对在两个 DataFrame 中都是唯一的,则解决方案有效。

df = (pd.concat([df1, df2], ignore_index=True, sort =False)
.drop_duplicates(['type','date'], keep='last'))

关于python - 连接两个数据框并在 Pandas 中删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57722781/

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