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)文章
Python pandas自定義函數(shù)的使用方法示例
這篇文章主要介紹了Python pandas自定義函數(shù)的使用方法,結(jié)合實例形式分析了pandas模塊相關(guān)自定義函數(shù)數(shù)值運算操作技巧,需要的朋友可以參考下2019-11-11
用django設(shè)置session過期時間的方法解析
這篇文章主要介紹了用django設(shè)置session過期時間的方法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-08-08
深入理解Python中pywin32庫實現(xiàn)Windows自動化與系統(tǒng)交互
Python利用redis-py實現(xiàn)哈希數(shù)據(jù)類型的常用指令操作

