Pandas中批量替換字符的六種方法總結(jié)
一、前言
前幾天在Python最強(qiáng)王者群有個(gè)叫【dcpeng】的粉絲問了一個(gè)關(guān)于Pandas中的問題,這里拿出來給大家分享下,一起學(xué)習(xí)。
想問一下我有一列編碼為1,2,3,4的數(shù)據(jù),如何將1批量換為“開心”,2批量換為“悲傷”這種字符替換呢?
二、解決過程
思路挺簡單,限定Pandas處理,想到的方法有很多,這里拿出來給大家分享,希望對大家的學(xué)習(xí)有幫助。

下面這個(gè)是生成源數(shù)據(jù)的代碼:
df?=?pd.DataFrame({'col1':?[1,?2,?2,?3,?3,?3,?4,?4,?4,?4]})
df
方法一
代碼如下所示:
df['col2']?=?df['col1'].map({1:"開心",?2:"悲傷",?3:"難過",?4:"淚目"})
df
運(yùn)行結(jié)果如下圖所示:

方法二
這個(gè)方法是參考才哥的文章寫出來的,代碼如下所示:
def?getValue(s): ????if?s==1: ????????return?'開心' ????elif?s==2: ????????return?'悲傷' ????elif?s==3: ????????return?'難過' ????elif?s==4: ????????return?'淚目' df['col3']?=?df['col1'].apply(getValue) df
運(yùn)行結(jié)果如下圖所示:

方法三
【冫馬讠成】大佬給了一個(gè)思路,使用replace實(shí)現(xiàn)。

代碼如下所示:
df['col4']?=?df['col1'].replace(1,?'開心').replace(2,?'悲傷').replace(3,?'難過').replace(4,?'淚目') df
得到的結(jié)果如下所示:

方法四
這個(gè)方法是基于apply()函數(shù),代碼如下所示:
def?get_value(s):
????dict?=?{1:"開心",?2:"悲傷",?3:"難過",?4:"淚目"}
????return?dict[s]
df['col5']?=?df['col1'].apply(get_value)
df
運(yùn)行結(jié)果如下圖所示:

方法五
【沈復(fù)】大佬給了一個(gè)思路和代碼,如下圖所示:

這個(gè)方法是基于map()函數(shù),代碼如下所示:
def?get_value(s):
????dict?=?{1:"開心",?2:"悲傷",?3:"難過",?4:"淚目"}
????return?dict[s]
df['col5']?=?df['col1'].map(get_value)
df
運(yùn)行結(jié)果如下圖所示:

方法六
這里【月神】仍然是使用replace方法進(jìn)行實(shí)現(xiàn)的,但是代碼秀了很多。

代碼如下所示:
df['col7']?=?df['col1'].replace([1,?2,?3,?4],?['開心',?'悲傷',?'難過',?'淚目']) df
【月神】提醒:這個(gè)是全匹配,不要加regex=True參數(shù),不然你會(huì)后悔的!
運(yùn)行結(jié)果如下圖所示:

三、總結(jié)
這篇文章基于粉絲提問,針對有一列編碼為1,2,3,4的數(shù)據(jù),如何將1批量換為“開心”,2批量換為“悲傷”這種字符替換的問題,盤點(diǎn)了6個(gè)Pandas中批量替換字符的方法,給出了具體說明和演示,順利地幫助粉絲解決了問題!
以上就是Pandas中批量替換字符的六種方法總結(jié)的詳細(xì)內(nèi)容,更多關(guān)于Pandas替換字符的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
python中執(zhí)行shell命令的幾個(gè)方法小結(jié)
這篇文章主要介紹了python中執(zhí)行shell命令的幾個(gè)方法,本文一共給出3種方法實(shí)現(xiàn)執(zhí)行shell命令,需要的朋友可以參考下2014-09-09
Python數(shù)據(jù)可視化常用4大繪圖庫原理詳解
這篇文章主要介紹了Python數(shù)據(jù)可視化常用4大繪圖庫原理詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10

