如何基于原始数据用Python生成按customer_id分组的交易DataFrame
需求参考样例
原始数据格式示例:
预期输出的按customer_id分组后的交易DataFrame示例:
实现方案
使用Python的pandas库即可快速实现该转换,操作步骤和代码如下:
- 首先导入pandas库,读取原始数据为DataFrame对象
- 通过
groupby按customer_id分组,配合agg聚合方法完成格式转换
import pandas as pd # 读取原始数据,可根据你的文件格式替换为read_excel、read_json等方法 raw_df = pd.read_csv("你的原始数据文件路径.csv") # 核心转换逻辑:按customer_id分组,其余字段聚合为列表 grouped_df = raw_df.groupby('customer_id', as_index=False).agg(list) # 若需要自定义聚合规则(新增统计指标、调整输出格式),可参考下方写法: # grouped_df = raw_df.groupby('customer_id', as_index=False).agg( # 交易日期序列 = ('trade_date', list), # 交易金额序列 = ('trade_amount', list), # 总交易笔数 = ('trade_id', 'count'), # 累计消费金额 = ('trade_amount', 'sum') # ) # 输出/保存结果 print(grouped_df) grouped_df.to_csv("按用户分组交易数据.csv", index=False)
补充说明
如果你需要将聚合后的列表转为逗号分隔的字符串,只需将聚合函数list替换为lambda x: ','.join(x.astype(str))即可。
内容的提问来源于stack exchange,提问作者nisawaras
相关产品推荐
相关产品推荐

