Pandas替換及部分替換(replace)實(shí)現(xiàn)流程詳解
在處理數(shù)據(jù)的時(shí)候,很多時(shí)候會(huì)遇到批量替換的情況,如果一個(gè)一個(gè)去修改效率過低,也容易出錯(cuò)。replace()是很好的方法。

源數(shù)據(jù)
1、替換全部或者某一行
replace的基本結(jié)構(gòu)是:df.replace(to_replace, value) 前面是需要替換的值,后面是替換后的值。
例如我們要將南岸改為城區(qū):

將南岸改為城區(qū)
這樣Python就會(huì)搜索整個(gè)DataFrame并將文檔中所有的南岸替換成了城區(qū)(要注意這樣的操作并沒有改變文檔的源數(shù)據(jù),要改變?cè)磾?shù)據(jù)需要使用inplace = True)。

使用inplace = True更改源數(shù)據(jù)
由于南岸只有城市一列具有相同值,使用起來比較方便。
但是如果我們要改變表1Lon里的某個(gè)數(shù)據(jù),而不改變Longitude的數(shù)據(jù)要怎么做呢?

改變指定的列的數(shù)據(jù)
所以只想替換部分?jǐn)?shù)據(jù)的時(shí)候并且要寫入源數(shù)據(jù)就需要指定inplace。
在上面的操作只改變了表1Lon的數(shù)據(jù),其它列的數(shù)據(jù)并沒有被替換,而且在替換后的結(jié)果不需要我們?cè)俸驮磾?shù)據(jù)進(jìn)行合并操作,可以直接體現(xiàn)在源數(shù)據(jù)中。
2、替換指定的某個(gè)或指定的多個(gè)數(shù)值(用字典的形式)

只改變指定的值
這個(gè)很好理解,就是字典里的建作為原值,字典里的值作為替換的新值。
當(dāng)然,我們也可是使用列表的形式進(jìn)行替換:df.replace(['A','29.54'],['B',100])

用列表的形式進(jìn)行替換
還有如果想要替換的新值是一樣的話,我們還可以這樣做:

替換的新值一樣時(shí)
部分替換和替換某個(gè)值結(jié)合使用的話就可以替換單個(gè)列的數(shù)值:

替換單個(gè)列的數(shù)值
3、使用正則表達(dá)式替換
正則表達(dá)式很強(qiáng)大,能夠讓我們實(shí)現(xiàn)一次替換很多很多個(gè)不同的值:

源數(shù)據(jù)

正則表達(dá)式?jīng)]有指定regex =True

正則表達(dá)式指定regex =True
使用正則表達(dá)式的時(shí)候記得后面加 regex=True參數(shù)。
有圖中我們可以看到只要包含有大寫的英文字母的數(shù)據(jù)都被替換了,如果我們要寫入源數(shù)據(jù)還需要指定inpla = True。

指定列替換數(shù)據(jù)
當(dāng)需要將缺失值替換掉的時(shí)候,我們可以考慮直接只用fillna(),功能更強(qiáng)大,這個(gè)前面已經(jīng)有說過了。
在某些情況下,如果我們只需要某個(gè)數(shù)據(jù)的部分內(nèi)容,我們?cè)撛趺床僮髂兀?/p>
比如要把變電站都改為transformer_substation,或者是把Latitude列的前面的ab改為AB:

指定列更改替換部分字符

指定列更改替換部分字符
需要注意的時(shí)更好指定列的時(shí)候,使用str.replace時(shí)不能使用inplace = True參數(shù),因此需要改成賦值,賦值的時(shí)候不要忘了是列的賦值而不是整個(gè)表格的賦值。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python利用Xpath選擇器爬取京東網(wǎng)商品信息
這篇文章主要介紹了Python利用Xpath選擇器爬取京東網(wǎng)商品信息,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06
Django創(chuàng)建一個(gè)后臺(tái)的基本步驟記錄
這篇文章主要給大家介紹了關(guān)于Django創(chuàng)建一個(gè)后臺(tái)的基本步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10
詳解tensorflow訓(xùn)練自己的數(shù)據(jù)集實(shí)現(xiàn)CNN圖像分類
本篇文章了tensorflow訓(xùn)練自己的數(shù)據(jù)集實(shí)現(xiàn)CNN圖像分類,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-02-02
詳解在Python中以絕對(duì)路徑或者相對(duì)路徑導(dǎo)入文件的方法
這篇文章主要介紹了詳解在Python中以絕對(duì)路徑或者相對(duì)路徑導(dǎo)入文件的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
在Tensorflow中實(shí)現(xiàn)leakyRelu操作詳解(高效)
這篇文章主要介紹了在Tensorflow中實(shí)現(xiàn)leakyRelu操作詳解(高效),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-06-06
pytorch 修改預(yù)訓(xùn)練model實(shí)例
今天小編就為大家分享一篇pytorch 修改預(yù)訓(xùn)練model實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-01-01
python 隨機(jī)生成10位數(shù)密碼的實(shí)現(xiàn)代碼
這篇文章主要介紹了python 隨機(jī)生成10位數(shù)密碼的實(shí)現(xiàn)代碼,在文中給大家提到了生成隨機(jī)密碼要實(shí)現(xiàn)的功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-06-06

