使用 pandas 重命名数据框列中的元素

Posted

技术标签:

【中文标题】使用 pandas 重命名数据框列中的元素【英文标题】:rename elements in a column of a data frame using pandas 【发布时间】:2013-09-04 02:43:04 【问题描述】:

使用熊猫:

df = pd.DataFrame('n':['d','a','b','c','c','a','d','b'], 'v':[1,2,1,2,2,1,1,1])

如何重命名df.n 中的元素,使a 更改为xb 更改为yc 更改为wd 更改为z,结果在:

   n  v
0  z  1
1  x  2
2  y  1
3  w  2
  ...

【问题讨论】:

【参考方案1】:

您可以将替换值字典传递给 Series replace 方法:

In [11]: df['n'].replace('a': 'x', 'b': 'y', 'c': 'w', 'd': 'z')
Out[11]: 
0    z
1    x
2    y
3    w
4    w
5    x
6    z
7    y
Name: n, dtype: object

In [12]: df['n'] = df['n'].replace('a': 'x', 'b': 'y', 'c': 'w', 'd': 'z')

【讨论】:

【参考方案2】:

你也可以使用下面的:

df['n'].replace(['a', 'b', 'c', 'd'], ['x', 'y', 'w', 'z'])

将所有 a 替换为 x,b 替换为 y,c 替换为 w,d 替换为 z。注意:如果您传递两个列表,它们的长度几乎相同

【讨论】:

以上是关于使用 pandas 重命名数据框列中的元素的主要内容,如果未能解决你的问题,请参考以下文章

根据另一列中的元素重命名特定列元素

使用 Pyspark 动态重命名数据框列

重命名由当前名称引用的多个数据框列

r R重命名数据框列

KeyError:重命名数据框列后为 1.0

在 spark python 中重命名数据框列