Concat一个CSV文件的两行

2024-04-29 19:23:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在python中清理数据帧中的数据,我将连接两列(名称、电话号码)中数据相似的行,即

我有

What I have

试图得到

Expected Result


1条回答
网友
1楼 · 发布于 2024-04-29 19:23:11

另外,如果您可以提供数据集的样本而不是图像,那就更好了。下次您可以使用df.to_clipboard并将其粘贴为问题中的代码片段,以确保再现性

现在来看看答案。您可以使用pandasgroupby,然后使用自定义聚合

首先,我为示例创建了一个数据集:

df = pd.DataFrame({"A": ["a", "b", "a", "b", "c"], "B": list(map(str, range(5))), "C": list(map(str, range(5, 10)))})

情况如下

   A  B  C
0  a  0  5
1  b  1  6
2  a  2  7
3  b  3  8
4  c  4  9

然后,您可以联系具有类似键的行(在您的示例中,键是namephone_no

gdf = df.groupby("A").agg({
    "B": ",".join,
    "C": ",".join
})
print(gdf)

结果如下:

   A    B    C
0  a  0,2  5,7
1  b  1,3  6,8
2  c    4    9

相关问题 更多 >