import pandas as pd
d = {
'one': [1, 2, 3, 4, 5],
'one': [9, 8, 7, 6, 5],
'three': ['a', 'b', 'c', 'd', 'e']
}
df = pd.DataFrame(d)
我有更大的数据框,其中有多个具有相同名称的列。
我想从列数中更改列名,如r中所示。
例如colnames(df)[2]='two'
我想将第二列名称从“一”更改为“二”。
在python中。
答案 0 :(得分:0)
我认为最简单的是通过np.arange
或range
分配新的列名称:
#valid dictionary have unique keys
d = {
'one1': [1, 2, 3, 4, 5],
'one2': [9, 8, 7, 6, 5],
'three': ['a', 'b', 'c', 'd', 'e']
}
df = pd.DataFrame(d)
df.columns = ['one'] * 2 + ['three']
print (df)
one one three
0 1 9 a
1 2 8 b
2 3 7 c
3 4 6 d
4 5 5 e
df.columns = np.arange(len(df.columns))
#alternative
#df.columns = range(len(df.columns))
print (df)
0 1 2
0 1 9 a
1 2 8 b
2 3 7 c
3 4 6 d
4 5 5 e
然后按名称选择:
print (df[1])
0 9
1 8
2 7
3 6
4 5
Name: 1, dtype: int64