小编典典

在pandas DataFrame中更改特定的列名称

python

我一直在寻找一种优雅的方式来更改中的指定列名称DataFrame

播放数据…

import pandas as pd
d = {
         'one': [1, 2, 3, 4, 5],
         'two': [9, 8, 7, 6, 5],
         'three': ['a', 'b', 'c', 'd', 'e']
    }
df = pd.DataFrame(d)

到目前为止,我发现的最优雅的解决方案…

names = df.columns.tolist()
names[names.index('two')] = 'new_name'
df.columns = names

我希望有一个简单的单线…此尝试失败了…

df.columns[df.columns.tolist().index('one')] = 'another_name'

任何提示均感激不尽。


阅读 314

收藏
2021-01-20

共1个答案

小编典典

确实存在一个班轮:

In [27]: df=df.rename(columns = {'two':'new_name'})

In [28]: df
Out[28]: 
  one three  new_name
0    1     a         9
1    2     b         8
2    3     c         7
3    4     d         6
4    5     e         5

以下是该rename方法的文档字符串。

定义:df.rename(自身,索引=无,列=无,副本=真,原地=假)
Docstring:
使用输入功能更改索引和/或列或
职能。函数/字典值必须唯一(1对1)。标签不
dict / Series中包含的内容将保持不变。

参量
----------
index:类似dict或函数,可选
    转换以应用于索引值
列:类似字典或函数,可选
    转换以应用于列值
复制:布尔值,默认为True
    同时复制基础数据
inplace:布尔值,默认为False
    是否返回新的DataFrame。如果为True,则复制值为
    忽略了。

也可以看看
--------
Series.rename

退货
-------
重命名:DataFrame(新对象)
2021-01-20