DataFrame里的replace替換方式
DataFrame里的replace替換
一對一替換
在Python中對某個值進行替換利用的是replace()方法,replace(A,B)表示將A替換成B。
有時候要對整個表進行替換,比如對全表中的缺失值進行替換,這個時候replace()方法就相當于fillna()方法了。
多對一替換
多對一替換就是把一塊區(qū)域中的多個值替換成某一個值,已知現(xiàn)在有三個異常年齡(240、260、280),需要把這三個年齡都替換成正常范圍年齡的平均值33,該怎么實現(xiàn)呢?
在 Python 中實現(xiàn)多對一的替換比較簡單,同樣也是利用 replace()方法, replace([A,B],C)表示將A、B替換成C。
多對多替換
多對多替換其實就是某個區(qū)域中多個一對一的替換。比如將年齡異常值240替換成平均值減一,260替換成平均值,280替換成平均值加一,該怎么實現(xiàn)呢?
在Python中若想實現(xiàn)多對多的替換,同樣是借助replace()方法,將替換值與待替換值用字典的形式表示,replace({"A":"a","B":"b"}表示用a替換A,用b替換B。
解決dataframe替換值失敗的問題
問題描述
最近在寫大作業(yè),有兩個dataframe,其中一個是存在缺失值的,其缺失值可以從另一個dataframe里找到。
df1為需要填充的數(shù)據(jù),這里僅以新增無癥狀為例;df2為要填充進去的參考值。
錯誤原因
需要通過兩者時間相同進行篩選,然后將對應值進行修改,但是之前總無法修改,原因是.iloc的用法用錯了,之前的錯誤語句如下:
for i in range(len(df1)): for j in range(len(df2)): if df1.iloc['日期'][i]==df2.iloc['日期'][j]: df1.iloc['新增無癥狀'][i]=df2.iloc['本土新增無癥狀'][j]
后來查了好多博客也沒找到問題解決方法,后來看到了這個,簡直救了大命
修后的語句
for i in range(len(df1)): for j in range(len(df2)): if df1['日期'].iloc[i]==df2['日期'].iloc[j]: df1['新增無癥狀'].iloc[i]=df2['本土新增無癥狀'].iloc[j]
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Django 添加靜態(tài)文件的兩種實現(xiàn)方法(必看篇)
下面小編就為大家?guī)硪黄狣jango 添加靜態(tài)文件的兩種實現(xiàn)方法(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07在django中form的label和verbose name的區(qū)別說明
這篇文章主要介紹了在django中form的label和verbose name的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05Python--模塊(Module)和包(Package)詳解
這篇文章主要介紹了Python中模塊(Module)和包(Package)的區(qū)別詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-09-09