您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“Pandas中批量替換字符的方法有哪些”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!
前幾天在Python最強王者群有個叫【dcpeng】的粉絲問了一個關(guān)于Pandas中的問題,這里拿出來給大家分享下,一起學(xué)習(xí)。
想問一下我有一列編碼為1,2,3,4的數(shù)據(jù),如何將1批量換為“開心”,2批量換為“悲傷”這種字符替換呢?
思路挺簡單,限定Pandas處理,想到的方法有很多,這里拿出來給大家分享,希望對大家的學(xué)習(xí)有幫助。
下面這個是生成源數(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
運行結(jié)果如下圖所示:
這個方法是參考才哥的文章寫出來的,代碼如下所示:
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
運行結(jié)果如下圖所示:
【冫馬讠成】大佬給了一個思路,使用replace
實現(xiàn)。
代碼如下所示:
df['col4'] = df['col1'].replace(1, '開心').replace(2, '悲傷').replace(3, '難過').replace(4, '淚目') df
得到的結(jié)果如下所示:
這個方法是基于apply()函數(shù),代碼如下所示:
def get_value(s): dict = {1:"開心", 2:"悲傷", 3:"難過", 4:"淚目"} return dict[s] df['col5'] = df['col1'].apply(get_value) df
運行結(jié)果如下圖所示:
【沈復(fù)】大佬給了一個思路和代碼,如下圖所示:
這個方法是基于map()函數(shù),代碼如下所示:
def get_value(s): dict = {1:"開心", 2:"悲傷", 3:"難過", 4:"淚目"} return dict[s] df['col5'] = df['col1'].map(get_value) df
運行結(jié)果如下圖所示:
這里【月神】仍然是使用replace
方法進行實現(xiàn)的,但是代碼秀了很多。
代碼如下所示:
df['col7'] = df['col1'].replace([1, 2, 3, 4], ['開心', '悲傷', '難過', '淚目']) df
【月神】提醒:這個是全匹配,不要加regex=True參數(shù),不然你會后悔的!
運行結(jié)果如下圖所示:
“Pandas中批量替換字符的方法有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。