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

如何为Pandas合并多CSV后的DataFrame设置多层级表头

实现带多层表头的CSV合并方案

直接用以下代码即可实现需求,同时保留每个文件的名称作为高层表头,低层表头统一为0-255:

import os
import glob
import pandas as pd

path = r'may12_fm'
all_files = glob.glob(os.path.join(path, '*.csv'))

dfs = []
for file_path in all_files:
    # 提取文件名(去掉.csv后缀,如需保留后缀直接用os.path.basename(file_path))
    file_name = os.path.splitext(os.path.basename(file_path))[0]
    # 读取单个CSV文件
    df = pd.read_csv(file_path, header=None)
    # 为当前DataFrame设置多层列索引:高层是文件名,低层是0-255
    df.columns = pd.MultiIndex.from_product([[file_name], df.columns])
    dfs.append(df)

# 按列合并所有DataFrame
df_may = pd.concat(dfs, axis=1)

关键说明:

  • pd.MultiIndex.from_product:简洁生成「文件名 + 0-255」的多层索引组合,替代手动构造元组的繁琐方式
  • 合并后最终的DataFrame行数保持为8,列数为文件数量 × 256,列索引为两层结构:第一层对应每个CSV文件的名称,第二层统一是0到255的编号

内容的提问来源于stack exchange,提问作者Talal Ghannam

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 05:35:21