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

如何将Pandas DataFrame的元组格式多级列名转换为单级列名?

Pandas多级元组列名转单个字符串的优化实现

问题描述

我有一个Pandas DataFrame,其列名为元组格式的多级列名,希望将这些列名转换为单个字符串。目前已实现一种方法,但想寻找更符合Python风格的最优方案:

new_column_names = (
    list(
        map(
            '_'.join,
            df.columns,
        )
    )
)

df.columns = new_column_names

优化实现方法

1. 列表推导式(Pythonic首选)

用列表推导式替代map+list的组合,代码更直观易读,是Python处理这类转换的常用风格:

df.columns = ['_'.join(col_tuple) for col_tuple in df.columns]

2. 利用Pandas Index的内置map方法

直接对df.columns(Pandas的Index对象)调用map方法,无需额外转列表(Pandas允许直接将处理后的Index赋值给df.columns):

df.columns = df.columns.map('_'.join)

这两种方式都比原代码更简洁高效,其中列表推导式可读性更强,而Index.map则更贴合Pandas的API设计,执行效率更优。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 14:36:00