在pandas中重命名数值

7

I do have a DataFrame like this:

col1  col 2
abc   sure
def   yes
ghi   no
jkl   no 
mno   sure
pqr   yes
stu   sure

我的意图是将“sure”和“yes”重命名为“confirm”,使数据框看起来像这样:
col1  col 2
abc   confirm
def   confirm
ghi   no
jkl   no 
mno   confirm
pqr   confirm
stu   confirm

如何实现这个呢? :)
2个回答

12

你可以简单地:

df = df.replace(['yes','sure'],'confirm')

7

另一种方法是使用Series.map()映射将'yes''sure'转换成'confirm',将'no'转换成'no'。例如 -

mapping = {'sure':'confirm','yes':'confirm','no':'no'}
df['col2'] = df['col2'].map(mapping)

演示 -

In [67]: df
Out[67]:
  col1  col2
0  abc  sure
1  def   yes
2  ghi    no
3  jkl    no
4  mno  sure
5  pqr   yes
6  stu  sure

In [68]: mapping = {'sure':'confirm','yes':'confirm','no':'no'}

In [69]: df['col2'] = df['col2'].map(mapping)

In [70]: df
Out[70]:
  col1     col2
0  abc  confirm
1  def  confirm
2  ghi       no
3  jkl       no
4  mno  confirm
5  pqr  confirm
6  stu  confirm

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接