You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何合并两个Pandas DataFrame?附具体数据与期望输出示例

嘿,这事儿好办,我给你捋个清晰的解决方案:

实现步骤

我们需要先把两个DataFrame合并到一起,再按col0分组,将每组的col1值去重后用逗号拼接,最后整理成你要的格式。

具体代码实现

import pandas as pd

# 原始数据
df1 = pd.DataFrame({'col0': ['A', 'B', 'C', 'A'], 'col1': ['aa', 'bb', 'cc', 'aa']})
df2 = pd.DataFrame({'col0': ['A', 'B', 'E', 'F','A'], 'col1': ['aa', 'kk', 'cc','bb' ,'nn']})

# 1. 纵向拼接两个DataFrame,把所有行合并到一个表中
combined_df = pd.concat([df1, df2], ignore_index=True)

# 2. 按col0分组,对每组的col1去重后用逗号拼接
result = combined_df.groupby('col0')['col1'].apply(lambda x: ', '.join(pd.unique(x))).reset_index()

# 输出结果
print(result)

运行结果

执行代码后会得到你想要的格式:

col0    col1
0    A  aa, nn
1    B  bb, kk
2    C      cc
3    E      cc
4    F      bb

小补充

这里用pd.unique(x)做去重是为了避免重复值(比如df1里A对应的重复aa)出现在结果里,如果你的原始数据本身没有重复项,也可以去掉去重步骤,直接用', '.join(x),但加上去重会让结果更严谨。

内容的提问来源于stack exchange,提问作者lol

火山引擎 最新活动