是否有内置函数通过索引重命名pandas数据帧?
我以为我知道列标题的名称,但事实证明第二列中有一些十六进制字符。根据我接收数据的方式,我可能会在未来根据第2列遇到此问题,因此我无法将这些特定的十六进制字符硬编码到dataframe.rename()调用中。
是否有一个我无法找到的名称为rename_col_by_index()的函数?
例如:
>>> df = pd.DataFrame({'a':[1,2], 'b':[3,4]})
>>> df.rename_col_by_index(1, 'new_name')
>>> df
a new_name
0 1 3
1 2 4
答案 0 :(得分:13)
您只需使用
即可<div>
foo
<div>
bar
</div>
</div>
或用
替换所有现有名称df.columns.values[index] = "New name"
答案 1 :(得分:4)
更新:感谢@Vincenzzzochi:
In [138]: df.rename(columns={df.columns[1]: 'new'})
Out[138]:
a new c
0 1 3 5
1 2 4 6
In [140]: df
Out[140]:
a b c
0 1 3 5
1 2 4 6
或更灵活:
In [141]: mapping = {df.columns[0]:'new0', df.columns[1]: 'new1'}
In [142]: df.rename(columns=mapping)
Out[142]:
new0 new1 c
0 1 3 5
1 2 4 6