【问题标题】:Rename columns of excel using Pandas使用 Pandas 重命名 excel 的列
【发布时间】:2021-09-27 22:30:27
【问题描述】:

我正在学习 pandas 进行数据清理。我正在阅读一个如下所示的 excel 文件。

我要做的是重命名列名,例如 First Cost Q3 2020, First Cost Q4 2020, First Cost Q1 2021 等等。还有其他列名称“AUFC”、“First Cost Growth %” 等等。而且我还必须像“First Cost”一样制作。

我是熊猫新手,不知道如何重命名这样的列。谁能指导我?

【问题讨论】:

标签: python pandas dataframe


【解决方案1】:

通过columns属性和map()方法试试:

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

现在,如果您打印 dfdf.columns,您将获得预期的输出

【讨论】:

    【解决方案2】:

    您可以使用以下方法重命名列名:

    df.rename(columns = {'Q3 2020':'First Cost Q3 2020'}, inplace = True)

    要更新所有列名,您可以这样做:

    df.columns = ['First Cost Q3 2020', 'First Cost Q4 2020', 'First Cost Q1 2021']

    【讨论】:

      【解决方案3】:

      您可以通过添加参数header=[0,1]来读取具有多索引列的excel文件,如下所示(更好地描述here):

      df = pd.read_excel(your_path, 
                         header=[0,1], 
                         sheetname=your_sheet_name)
      

      然后按照here 的描述合并多索引:

      df.columns = df.columns.map(' '.join).str.strip(' ')
      

      【讨论】:

        【解决方案4】:

        最简单的方法是如下分配所需的列名列表(必须是所有列):

        df.columns = ['First Cost Q3 2020', 'First Cost Q4 2020', etc].
        

        如果 Pandas 将此 excel 读取为多级列,您将需要做更多的工作。让我们知道是否是这种情况

        【讨论】:

        • 是的,它们是多级列。
        猜你喜欢
        • 2019-12-01
        • 2018-03-24
        • 2021-04-24
        • 2020-06-21
        • 1970-01-01
        • 2017-05-04
        • 1970-01-01
        • 2019-07-21
        • 1970-01-01
        相关资源
        最近更新 更多