gpt4 book ai didi

Python - Pandas 结合了两个提供不同值的数据框

转载 作者:行者123 更新时间:2023-12-04 01:27:41 25 4
gpt4 key购买 nike

我有两个不同的数据框,有两列,我想合并它们+得到它们 B 列的总和。问题是数据框 1 有一些我想保留的数据。我会写一个例子让它有意义

数据框 1

Columns A Column B
House walls,doors,rooms
Animal Legs,nose,eyes
car tires,engine

数据框 2

Column A  Column B
House windows,kitchen
Bike wheels,bicycle chain

想要的结果

Column A  Column B
House walls,doors,rooms,windows,kitchen
Animal Legs,nose,eyes
Car tires,engine
Bike wheels,bicycle chain

合并功能没有帮助,我尝试使用 pd.concat 然后以某种方式聚合数据,但也没有帮助。有人知道如何解决它吗?

最佳答案

pd.concat([df1, df2]).groupby("Column A")["Column B"].apply(', '.join).reset_index()

连接数据帧后,按 A 列对值进行分组,然后使用 apply 连接 B 列中的分组字符串,最后使用 reset_index() 恢复 A 列.

编辑:评论的扩展

要删除重复项,您可以使用 set 数据结构,它只保留您放入其中的每个元素的一个版本。对于每一行 x,拆分单词,然后将单词列表转换为一个集合:

df4 = df3["Column B"].apply(lambda x: set(x.split(", "))).reset_index()

请注意,在此之后,您的 B 列将包含集合。我将让您了解如何使用类似的模式将集合重新转换为字符串。

关于Python - Pandas 结合了两个提供不同值的数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61580915/

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