DataFrame里的replace替換方式
DataFrame里的replace替換
一對(duì)一替換
在Python中對(duì)某個(gè)值進(jìn)行替換利用的是replace()方法,replace(A,B)表示將A替換成B。

有時(shí)候要對(duì)整個(gè)表進(jìn)行替換,比如對(duì)全表中的缺失值進(jìn)行替換,這個(gè)時(shí)候replace()方法就相當(dāng)于fillna()方法了。

多對(duì)一替換
多對(duì)一替換就是把一塊區(qū)域中的多個(gè)值替換成某一個(gè)值,已知現(xiàn)在有三個(gè)異常年齡(240、260、280),需要把這三個(gè)年齡都替換成正常范圍年齡的平均值33,該怎么實(shí)現(xiàn)呢?
在 Python 中實(shí)現(xiàn)多對(duì)一的替換比較簡(jiǎn)單,同樣也是利用 replace()方法, replace([A,B],C)表示將A、B替換成C。

多對(duì)多替換
多對(duì)多替換其實(shí)就是某個(gè)區(qū)域中多個(gè)一對(duì)一的替換。比如將年齡異常值240替換成平均值減一,260替換成平均值,280替換成平均值加一,該怎么實(shí)現(xiàn)呢?
在Python中若想實(shí)現(xiàn)多對(duì)多的替換,同樣是借助replace()方法,將替換值與待替換值用字典的形式表示,replace({"A":"a","B":"b"}表示用a替換A,用b替換B。

解決dataframe替換值失敗的問(wèn)題
問(wèn)題描述
最近在寫(xiě)大作業(yè),有兩個(gè)dataframe,其中一個(gè)是存在缺失值的,其缺失值可以從另一個(gè)dataframe里找到。
df1為需要填充的數(shù)據(jù),這里僅以新增無(wú)癥狀為例;df2為要填充進(jìn)去的參考值。

錯(cuò)誤原因
需要通過(guò)兩者時(shí)間相同進(jìn)行篩選,然后將對(duì)應(yīng)值進(jìn)行修改,但是之前總無(wú)法修改,原因是.iloc的用法用錯(cuò)了,之前的錯(cuò)誤語(yǔ)句如下:
for i in range(len(df1)):
for j in range(len(df2)):
if df1.iloc['日期'][i]==df2.iloc['日期'][j]:
df1.iloc['新增無(wú)癥狀'][i]=df2.iloc['本土新增無(wú)癥狀'][j]后來(lái)查了好多博客也沒(méi)找到問(wèn)題解決方法,后來(lái)看到了這個(gè),簡(jiǎn)直救了大命
修后的語(yǔ)句
for i in range(len(df1)):
for j in range(len(df2)):
if df1['日期'].iloc[i]==df2['日期'].iloc[j]:
df1['新增無(wú)癥狀'].iloc[i]=df2['本土新增無(wú)癥狀'].iloc[j]總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python pandas自定義函數(shù)的使用方法示例
這篇文章主要介紹了Python pandas自定義函數(shù)的使用方法,結(jié)合實(shí)例形式分析了pandas模塊相關(guān)自定義函數(shù)數(shù)值運(yùn)算操作技巧,需要的朋友可以參考下2019-11-11
用django設(shè)置session過(guò)期時(shí)間的方法解析
這篇文章主要介紹了用django設(shè)置session過(guò)期時(shí)間的方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
深入理解Python中pywin32庫(kù)實(shí)現(xiàn)Windows自動(dòng)化與系統(tǒng)交互
Python利用redis-py實(shí)現(xiàn)哈希數(shù)據(jù)類(lèi)型的常用指令操作

