You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求:按ID聚合DataFrame特征生成统计列并保存为CSV

问题描述

现有DataFrame结构如下:

ID      visit         feature 1      feature 2
1       m1              2               4
1       m2              5               9
1       m3              3               4
1       m4              4               0
2       m1
2       m2              5               6
2       m2              4               4
2       m4              3               3

需要按ID聚合所有visit对应的特征,每个ID对应一行,生成包含各特征最大值、最小值的统计结果,最终结构如下:

ID      Max_feature1    min_feature1      max_feature2      min_feature2      
1          5                2                 9                  0
2         5                 3                 6                  3

聚合完成后将结果保存为CSV文件,需要实现方案。

解决方案

使用Python的pandas库可以高效实现该需求,具体步骤如下:

  • 读取/创建DataFrame
    先将原始数据加载到pandas DataFrame中,如果数据来自本地文件,可使用pd.read_csv()方法读取。以下是构造示例数据的代码:

    import pandas as pd
    
    # 构造原始DataFrame
    data = {
        'ID': [1,1,1,1,2,2,2,2],
        'visit': ['m1','m2','m3','m4','m1','m2','m2','m4'],
        'feature 1': [2,5,3,4,None,5,4,3],
        'feature 2': [4,9,4,0,None,6,4,3]
    }
    df = pd.DataFrame(data)
    
  • 按ID聚合计算统计值
    通过groupby()按ID分组,针对每个特征列分别计算最大值和最小值,并用reset_index()将ID从索引转为普通列:

    # 分组聚合,指定统计项与对应列名
    agg_result = df.groupby('ID').agg(
        Max_feature1=('feature 1', 'max'),
        min_feature1=('feature 1', 'min'),
        max_feature2=('feature 2', 'max'),
        min_feature2=('feature 2', 'min')
    ).reset_index()
    
  • 保存为CSV文件
    使用to_csv()方法将聚合结果保存为CSV文件,设置index=False避免写入索引列:

    agg_result.to_csv('aggregated_features.csv', index=False)
    

内容的提问来源于stack exchange,提问作者Nora Mahmoud

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 05:53:15