我有一个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
我可以用循环来完成,但我希望有一个更简单的方法。
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: 这将给我: 聚合工作得很好,但我不喜欢新的列名。有没有办法将此列重命名为人类可以从方法中读取的内容?也许更类似于中的操作: