關于DataFrame中某列值的替換map(dict)
更新時間:2024年02月01日 10:33:44 作者:旺仔的算法coding筆記
這篇文章主要介紹了關于DataFrame中某列值的替換map(dict),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
DataFrame某列值的替換map(dict)
pandas 的dataframe 中,有時需要將某列的值替換為另一個值,pandas中可以直接利用map()里傳入字典kv對的方式實現(xiàn)替換
如下:
需要將相應的數(shù)值編碼替換為實際的類別含義。
選擇對應的列,調(diào)用map傳入字典kv 對
#arcCatCodeToChara 為字典kv對。k為原值,v為要替換為的值 arcCatCodeToChara={7434051:'攝影',1331190321:'搞笑',20785:'娛樂',5469252:'家居',27186:'情感',28977:'國際',70:'軍事',31281:'科技',6500679:'動漫',13874:'數(shù)碼',20529:'文化',7030834:'時政',6835763:'時尚',4747317:'房產(chǎn)',6370870:'職場',73:'教育',7431489:'動物',19506:'體育',7886148:'寵物',49:'游戲',4877126 :'天氣',71:'育兒',1966500147:'未知',27954:'健康',17741:'小說',5257551:'科學',5524048:'美食',7823953:'美女',75:'收藏',29233:'社會',121:'財經(jīng)',1161328177:'設計',28978:'歷史',108:'星座',109:'汽車',28783:'宗教',30257:'旅游',26162:'彩票',4739907:'風水',1735222577:'影視',27953:'音樂',7761201:'未知1',7760690:'未知2',5400912:'未知3',5588291:'未知4',3689035:'未知5',12589:'未知未打上'} class_merged['class']=class_merged['class'].map(arcCatCodeToChara) # map里傳入實現(xiàn)數(shù)值替換為對應的銘文漢子字符串 class_merged.head(3) class_merged[['class','ratio_0525','ratio_0526','ratio_0527']].sort_values(by='ratio_0526',ascending=False)
結果:
DataFrame對某一列中單元格的操作map
會遇到dataframe中單元格既不是nan 又不是None 的
比如這種:
created_at | catefirst |
2020-04-01 |
取得這種catefirst為空的需要用到
pd[(pd['catefirst'] == "")]
這時候能把空值找出
如果是對這一列來操作的話 處理空值 填充為0 或者別的 可以用map函數(shù)
#只對為空的或者為None的單元格替換為“無” 其余有正常值的保持不變 def catefirstmap(x): if x=="" or x==None: return "無" else: return x
然后通過map對列調(diào)用上面的函數(shù)
pd['catefirst']=pd['catefirst'].map(catefirstmap)
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Python實現(xiàn)發(fā)送email的幾種常用方法
這篇文章主要介紹了Python實現(xiàn)發(fā)送email的幾種常用方法,非常實用,需要的朋友可以參考下2014-08-08