当前位置: 首页 > 知识库问答 >
问题:

重命名pandas数据帧中的X列?其中X变化[重复]

杭涵映
2023-03-14

我有一个dataframe(由于我无法控制的原因),其中变量的数量从1到20不等,所有变量都命名为1,2,3,4,5....ETC

一天有四列:

data = {'1': ['A', 'B', 'C', 'D', 'E'], 
        '2': [1, 0, 1, 0, 1], 
        '3': [1, 1, 0, 0, 3],
        '4': [0, 0, 1, 1, 1]}
df = pd.DataFrame(data)
df
data = {'1': ['A', 'B', 'C', 'D', 'E'], 
        '2': [1, 0, 1, 0, 1]}
df = pd.DataFrame(data)
df

在每个列名前缀“variable_”(与列数无关)。所以看起来应该是这样的:

data = {'variable_1': ['A', 'B', 'C', 'D', 'E'], 
        'variable_2': [1, 0, 1, 0, 1], 
        'variable_3': [1, 1, 0, 0, 3],
        'variable_4': [0, 0, 1, 1, 1]}
df = pd.DataFrame(data)
df

我可以用循环来完成,但我希望有一个更简单的方法。

共有1个答案

包建义
2023-03-14

df.rename可以使用修改列名的函数,因此可以执行类似的操作。

In [171]: data = {'1': ['A', 'B', 'C', 'D', 'E'], 
     ...:         '2': [1, 0, 1, 0, 1], 
     ...:         '3': [1, 1, 0, 0, 3],
     ...:         '4': [0, 0, 1, 1, 1]}
     ...: df = pd.DataFrame(data)
     ...: 

In [172]: df.rename(columns = lambda x : 'variable_' + x)
Out[172]: 
  variable_1  variable_2  variable_3  variable_4
0          A           1           1           0
1          B           0           1           0
2          C           1           0           1
3          D           0           0           1
4          E           1           3           1
 类似资料:
  • 问题内容: 这个问题已经在这里有了答案 : 使用pandas GroupBy.agg()对同一列进行多次聚合 (3个答案) 去年关闭。 示例数据集: 我想通过和对这个数据集的观察进行分组,并对每个组求和。所以我用了这样的东西… 在使用时,我能够获得“ SQL-like”输出。我的问题是我无法在此处 重命名聚合变量。因此,在SQL中,如果想做上述事情,我会做这样的事情: 正如我们看到的,它很容易让我

  • 以下脚本: Floor1正在正确执行,Floor2使用相同的df执行,但使用重命名的列则不正确。我得到一个关键错误: 我知道,有一个类似的问题:重命名列后get keyerror 但我并没有真正得到答案,更重要的是,我没有找到解决办法。

  • 问题内容: 我有一个数据框,我想根据另一个计划用作字典的数据框重命名列。例如,我拥有的第一个数据框是: 作为第二个数据框,我想用作字典: 我想得到的结果如下: 最初,我想将第一个数据框重塑为长格式,然后与字典数据框合并,然后重塑为宽格式。但是我认为这效率很低,因此我想使用一种更有效的方法(如果存在)。非常感谢您的帮助。 问题答案: 我觉得你可以先创建从,然后创建从列由您再使用:

  • 我有一个dataframe,我想根据另一个我计划用作字典的dataframe重命名这些列。例如,我的第一个数据帧是: 作为我想用作字典的第二个数据帧: 我希望得到的结果如下: 最初,我想将第一个数据帧重塑为长格式,然后与字典数据帧合并,然后重塑为宽格式。然而,我认为这是相当低效的,所以我想使用一种更有效的方法(如果存在的话)。非常感谢你的帮助。

  • 我想将以下数据框的第1列重命名为“Ref”。我有很多列,因此无法重命名每个列或为每个列设置名称。 这是数据帧 现在我想将第一列重命名为'Ref'。我试过这个 它重命名所有标题与列[1]相似的列。

  • 我正在用PySpark DataFrames分析一些数据。假设我有一个正在聚合的数据帧< code>df: 这将给我: 聚合工作得很好,但我不喜欢新的列名。有没有办法将此列重命名为人类可以从方法中读取的内容?也许更类似于中的操作: