Python 是否重命名数据框中的X列?其中X变化
我有一个数据帧,其中(由于我无法控制的原因)变量的数量从1到20不等,所有变量都命名为1、2、3、4、5。。。。等 一天有四个栏目:Python 是否重命名数据框中的X列?其中X变化,python,pandas,Python,Pandas,我有一个数据帧,其中(由于我无法控制的原因)变量的数量从1到20不等,所有变量都命名为1、2、3、4、5。。。。等 一天有四个栏目: 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':
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
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