连接 CSV 文件的两行
Concat two rows of a CSV file
我正在尝试清理 python 中数据框中的数据,我将在其中连接两列(名称,phone_no)中的数据相似的行,即
我有
What I have
正在尝试获取
Expected Result
P.S 如果您能提供数据集的样本而不是图像,那就更好了。下次您可以使用 df.to_clipboard
并将其作为代码片段粘贴到问题中以实现重现性。
现在回答。您可以使用 pandas groupby
,然后使用自定义聚合。
首先我为示例创建了一个数据集:
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
然后您可以联系具有相似键的行(在您的情况下,键是 name
和 phone_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
我正在尝试清理 python 中数据框中的数据,我将在其中连接两列(名称,phone_no)中的数据相似的行,即
我有
What I have
正在尝试获取
Expected Result
P.S 如果您能提供数据集的样本而不是图像,那就更好了。下次您可以使用 df.to_clipboard
并将其作为代码片段粘贴到问题中以实现重现性。
现在回答。您可以使用 pandas groupby
,然后使用自定义聚合。
首先我为示例创建了一个数据集:
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
然后您可以联系具有相似键的行(在您的情况下,键是 name
和 phone_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