是否有内置函数来通过索引重命名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
Run Code Online (Sandbox Code Playgroud)
Max*_*axU 18
更新:感谢@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
Run Code Online (Sandbox Code Playgroud)
或者更灵活一点:
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
Run Code Online (Sandbox Code Playgroud)
tao*_*k A 17
你可以简单地使用
df.columns.values[index] = "New name"
Run Code Online (Sandbox Code Playgroud)
或用新的名称替换所有现有名称
df.columns = ["col1", "col2"]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13426 次 |
| 最近记录: |