如何合并Pandas DataFrame中col1、col2值相同的行并拼接col4字符串
解决方法
首先构造你提供的示例DataFrame:
import pandas as pd data = { 'col1': ['a', 'a'], 'col2': ['b', 'b'], 'col3': [0, 1], 'col4': ['d', 'e'] } df = pd.DataFrame(data)
接下来通过groupby按col1和col2分组,再用agg指定各列的聚合逻辑:
col3取分组内的第一个值(对应你预期结果里的0)col4将分组内的字符串拼接成一个整体
代码如下:
result = df.groupby(['col1', 'col2'], as_index=False).agg( col3=('col3', 'first'), col4=('col4', lambda x: ''.join(x)) )
运行后得到的result就是你要的结果:
col1 col2 col3 col4 0 a b 0 de
如果你的col4里有带引号的字符串(比如原数据里的"d"),可以先去掉引号再拼接,比如把lambda改成lambda x: ''.join(s.strip('"') for s in x),根据实际数据调整即可。
内容的提问来源于stack exchange,提问作者rose
相关产品推荐
相关产品推荐

