以下是一个示例代码,展示如何按照条件分组并将两列合并:
import pandas as pd
# 创建示例数据
data = {'Category': ['A', 'A', 'B', 'B', 'C', 'C'],
'Value1': [1, 2, 3, 4, 5, 6],
'Value2': [7, 8, 9, 10, 11, 12]}
df = pd.DataFrame(data)
# 按照Category列进行分组,并将Value1和Value2列合并
df['Combined'] = df.groupby('Category')['Value1'].transform(lambda x: ','.join(map(str, x)) + ','
+ ','.join(map(str, df.loc[x.index, 'Value2'])))
# 打印结果
print(df)
输出结果如下:
Category Value1 Value2 Combined
0 A 1 7 1,2,7,8
1 A 2 8 1,2,7,8
2 B 3 9 3,4,9,10
3 B 4 10 3,4,9,10
4 C 5 11 5,6,11,12
5 C 6 12 5,6,11,12
在这个示例中,我们使用了groupby
函数按照Category
列进行分组。然后,通过transform
函数将Value1
列转换为字符串,并使用join
函数将其与对应的Value2
列合并为一个新的列Combined
。最后,我们将结果打印出来,可以看到按照条件分组后,Value1
和Value2
列被合并到了一起。
上一篇:按照条件返回每个组的最大记录
下一篇:按照条件复制/粘贴脚本