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

如何将Pandas DataFrame的describe()结果转为单行表头+单行数据格式

解决方案:批量处理数据文件并转换统计结果格式

核心思路

逐个读取数据文件生成DataFrame,执行describe()后通过层级索引重塑,把「列名-统计量」拼接为新表头,将多统计行转成单行数据,最后批量追加到CSV文件,方便后续筛选最优值。

1. 依赖导入与路径配置

先导入必备模块,指定数据文件目录和输出CSV的路径:

import pandas as pd
import os

# 替换为你的实际路径
data_dir = "./your_data_files"
output_csv = "stats_summary.csv"

2. 单个文件处理函数

封装读取、统计、格式转换的逻辑,一次处理一个文件:

def process_file(file_path):
    # 读取文件(如果是Excel,换成pd.read_excel,按需调整参数)
    df = pd.read_csv(file_path)
    
    # 生成统计描述(默认包含count/mean/std/min/25%/50%/75%/max)
    stats = df.describe()
    
    # 重塑格式:将列名和统计量拼接成新表头,转成单行
    stats_t = stats.T  # 转置让列名作为行索引,统计量作为列
    # 拼接列名-统计量作为新的索引
    stats_t.index = stats_t.index + "-" + stats_t.columns
    # 转成单行数据
    single_row = stats_t.stack().unstack().reset_index(drop=True).to_frame().T
    
    # 添加文件名,方便后续溯源哪个文件的统计结果
    single_row["文件名"] = os.path.basename(file_path)
    
    return single_row

3. 批量处理并写入CSV

遍历目录下的所有目标文件,逐个处理后追加到输出CSV:

# 遍历目录下的CSV文件(按需替换成你的文件后缀,如.xlsx)
for file_name in os.listdir(data_dir):
    if file_name.endswith(".csv"):
        file_path = os.path.join(data_dir, file_name)
        try:
            result_row = process_file(file_path)
            # 首次写入时带表头,后续追加不写表头
            if not os.path.exists(output_csv):
                result_row.to_csv(output_csv, index=False, encoding="utf-8")
            else:
                result_row.to_csv(output_csv, index=False, encoding="utf-8", mode="a", header=False)
            print(f"处理完成:{file_name}")
        except Exception as e:
            print(f"处理{file_name}出错:{str(e)}")

额外说明

  • 自定义统计量:如果不需要describe()默认的全量统计,可以手动指定需要的指标,比如只保留mean/std/min/max:
    custom_stats = df.agg({
        "Height": ["mean", "std", "min", "max"],
        "Weight": ["mean", "std", "min", "max"],
        # 其他列同理
    })
    # 后续格式转换逻辑和上述一致
    
  • 性能优化:如果文件体积较大,可使用pd.read_csv(chunksize=xxx)分批读取;1000个文件也可以用multiprocessing多进程处理提速。

内容的提问来源于stack exchange,提问作者Glabella Streamline

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 18:06:03