您好,登錄后才能下訂單哦!
這篇文章主要講解了“Python pandas怎么替換指定數據”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Python pandas怎么替換指定數據”吧!
import pandas as pd import numpy as np df=pd.DataFrame(np.arange(16).reshape(4,4),columns=["sh","bj","sz","gz"],index=["one","two","three","four"]) df.iloc[0,1]=np.nan
df["bj"].fillna(df["sz"],inplace=True)
法一:直接替換
df.loc[df["sz"].isin([2,6]),"sz"]=-4
法二:函數replace()替換
df.replace({"sz":{2:-4,6:-4}},inplace=True)
原dataframe如下:
1)替換單個元素
df.replace(-4,0)#將所有的-4元素替換為0,返回dataframe
2)替換多個元素
法一:在字典中指定
df.replace({-4:0,4:1})#將-4替換為0,4替換為1
法二:在列表中指定
df.replace([-4,4],[0,1])#將-4替換為0,4替換為1
其中法二在列表中指定的方式,如果多個元素替換為相同的值,會更方便。
df.replace([-4,4],1)#將-4和4替換為1
df.replace({"bj":{5:10,9:50},"gz":{7:10}})#將"bj"列的5替換為10,9替換為50,將gz列的7替換為10
也可通過直接索引列的方式來替換指定列的元素
df["bj"].replace({5:10,9:50})#將"bj"列的5替換為10,9替換為50
法一:通過字符串方法替換 str.replace()
df["bj"]=df["bj"].str.replace("北","南").fillna(df["bj"])#將"bj"列中的"北"字替換成"南"字,若無"北"值,則不替換
法二:通過正則匹配替換
df.replace("(.*)北(.*)","南京",regex=True)#將"bj"列中的含有"北"字的元素替換成"南京"
最后,如果需要在原始數據上完成替換,可以通過設置參數inplace=True。
感謝各位的閱讀,以上就是“Python pandas怎么替換指定數據”的內容了,經過本文的學習后,相信大家對Python pandas怎么替換指定數據這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。