14

使用熊猫:

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

如何重命名 中的元素df.n,以便a更改为xbto yctowdto z,从而导致:

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

2 回答 2

47

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

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'})
于 2013-08-31T14:02:28.943 回答
0

您也可以使用以下一种:

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

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

于 2021-09-02T03:20:05.827 回答