pandas如何替换掉数据中不想要的内容

目录

数据预览:

一、整表替换

二、针对某一列替换

三、同时替换多个内容

1.方法一

2.方法二

3.方法三

四、替换一段文字中的部分文字


数据预览:

一、整表替换

比如我想把表格中的城八区替换成朝阳区,即可运用以下方法

data.replace('城八区','朝阳区')

如下图所示,无论是城市列还是城市2列,城八区都被替换成了朝阳区,那么如果我只想让城市2列的城八区替换成朝阳区该如何做呢?且看下文 

二、针对某一列替换

如上方所述只想把城市2列换成朝阳区的话可以用以下方法,也就是指定列即可 

data['城市2'].replace('城八区','朝阳区',inplace=True)

三、同时替换多个内容

需求:将数值列的A替换成520,B替换成1314

1.方法一

我们可以借助字典将替换内容写入,按照key为原值,value为新值的方法

dict={'A':520,'B':1314}
data['数值'].replace(dict,inplace=True)

2.方法二

借助列表,将原数据封装在一个列表,将替换值封装为一个列表

data['数值'].replace(['A','B'],[520,1314],inplace=True)

3.方法三

如果想要将数值中的所有字母都替换成同一数字的话,上方两种方法无论哪一种都略显繁琐,这是我们可以运用万能的正则表达式,所有字母可以轻松的用[A-Z]表示,但是一定要写上regex=True,否则正则表达式在这是不起作用的

data['数值'].replace('[A-Z]',666,regex=True,inplace=True)

四、替换一段文字中的部分文字

需求:将城市2这一列的城八区改为城七区

为满足这一需求,我们需要借助字符串操作,加上str才能够替换文字内部的内容,同时注意这里没办法运用inplace这一参数来使得源数据发生修改,但是可以借助变量名接收新内容

data['城市2']=data['城市2'].str.replace("八","七")