使用pandas库中的groupby()函数和agg()函数实现该问题。具体步骤如下:
下面是示例代码:
import pandas as pd
# 读取数据文件,创建DataFrame对象
df = pd.read_csv('data.csv')
# 使用groupby()函数以指定列为键,将DataFrame对象分组
groups = df.groupby(['Column1', 'Column2'])
# 使用agg()函数,按指定方式对分组后的数据进行聚合
agg_df = groups.agg({'Column3': 'sum', 'Column4': list})
# 将聚合后的数据转换成新的DataFrame对象,并保存结果
new_df = pd.DataFrame({'Column1': [], 'Column2': [], 'Column3': [], 'Column4': []})
for index, row in agg_df.iterrows():
new_row = pd.DataFrame({'Column1': [index[0]], 'Column2': [index[1]], 'Column3': [row['Column3']], 'Column4': [row['Column4']]})
new_df = pd.concat([new_df, new_row], ignore_index=True)
# 输出处理后的结果
print(new_df)
上一篇:按列中特定值排序
下一篇:按列中相同值的最小时间戳分区