【问题标题】:How to name Pandas Dataframe Columns automatically?如何自动命名 Pandas 数据框列?
【发布时间】:2020-06-13 02:48:38
【问题描述】:

我有一个带有 102 列的 Pandas 数据框 df。每列都有不同的名称,比如A, B, C 等,以给出原始数据框的结构

         Column A.    Column B.  Column C.   ....
Row 1.    
Row 2.
---
Row n

我想将列名从A, B, C 等更改为F1, F2, F3, ...., F102。我尝试使用 df.columns 但以这种方式重命名它们没有成功。有什么简单的方法可以自动将所有列名自动重命名为F1 to F102,而不是单独重命名每个列名?

【问题讨论】:

    标签: python pandas dataframe rename


    【解决方案1】:
    df.columns=["F"+str(i) for i in range(1, 103)]
    

    注意:

    您可以使用计算的列数 (+ 1),而不是“神奇”数字103,例如

    • len(df.columns) + 1,或
    • df.shape[1] + 1

    (感谢 ALollz 在他的评论中提供这个提示。)

    【讨论】:

    • 可能值得做["F"+str(i+1) for i in range(df.shape[1])] 这样你就不需要显式写列数了。
    • @ALollz,你说得对,谢谢,我可能会在我的答案中添加一些内容。
    【解决方案2】:

    一种方法是将其转换为一对列表,并将列名列表转换为循环的索引:

    import pandas as pd
    d = {'Column A': [1, 2, 3, 4, 5, 4, 3, 2, 1], 'Column B': [1, 2, 3, 4, 5, 4, 3, 2, 1], 'Column c': [1, 2, 3, 4, 5, 4, 3, 2, 1]}
    dataFrame = pd.DataFrame(data=d)
    cols = list(dataFrame.columns.values)                 #convert original dataframe into a list containing the values for column name
    index = 1                                             #start at 1
    for column in cols:
        cols[index-1] = "F"+str(index)                    #rename the column name based on index
        index += 1                                             #add one to index
    vals = dataFrame.values.tolist()                      #get the values for the rows
    newDataFrame = pd.DataFrame(vals,   columns=cols)     #create a new dataframe containing the new column names and values from rows
    print(newDataFrame)
    

    输出:

       F1  F2  F3
    0   1   1   1
    1   2   2   2
    2   3   3   3
    3   4   4   4
    4   5   5   5
    5   4   4   4
    6   3   3   3
    7   2   2   2
    8   1   1   1
    

    【讨论】:

      猜你喜欢
      • 2019-09-26
      • 2021-07-15
      • 2020-02-24
      • 2013-07-11
      • 2020-07-07
      • 2014-10-26
      • 1970-01-01
      • 2019-03-03
      • 2012-08-25
      相关资源
      最近更新 更多