Pandas中根據(jù)條件替換列中的值的四種方式
方法1:使用dataframe.loc[]函數(shù)
通過(guò)這個(gè)方法,我們可以用一個(gè)條件或一個(gè)布爾數(shù)組來(lái)訪問(wèn)一組行或列。如果我們可以訪問(wèn)它,我們也可以操作它的值,是的!這是我們的第一個(gè)方法,通過(guò)pandas中的dataframe.loc[]函數(shù),我們可以訪問(wèn)一個(gè)列并通過(guò)一個(gè)條件改變它的值。
語(yǔ)法:df.loc[ df["column_name"] == "some_value", "column_name" ] = "value"
some_value = 需要被替換的值 value = 應(yīng)該被放置的值。
示例: 我們要把性別欄中的所有 “男性 “改為1。
import pandas as pd import numpy as np # data data= { 'Name': ['John', 'Jay', 'sachin', 'Geetha', 'Amutha', 'ganesh'], 'gender': ['male', 'male', 'male', 'female', 'female', 'male'], 'math score': [50, 100, 70, 80, 75, 40], 'test preparation': ['none', 'completed', 'none', 'completed', 'completed', 'none'], } # 創(chuàng)建一個(gè) Dataframe 對(duì)象 df = pd.DataFrame(data) # 條件應(yīng)用 df.loc[df["gender"] == "male", "gender"] = 1
輸出:
使用dataframe.loc[]函數(shù)
方法2:使用NumPy.where()函數(shù)
NumPy是一個(gè)非常流行的庫(kù),用于2D和3D數(shù)組的計(jì)算。它為我們提供了一個(gè)非常有用的方法where()來(lái)訪問(wèn)有條件的特定行或列。我們也可以用這個(gè)函數(shù)來(lái)改變某一列的特定值。 語(yǔ)法: df[“column_name”] = np.where(df[“column_name”]==”some_value”, value_if_true, value_if_false)
示例: 這個(gè)numpy.where()函數(shù)應(yīng)該寫(xiě)上條件,如果條件為真,后面是值,如果條件為假,則是一個(gè)值?,F(xiàn)在,我們要把性別欄中的所有 “女性 “改為0,”男性 “改為1。
import pandas as pd import numpy as np # data data= { 'Name': ['John', 'Jay', 'sachin', 'Geetha', 'Amutha', 'ganesh'], 'gender': ['male', 'male', 'male', 'female', 'female', 'male'], 'math score': [50, 100, 70, 80, 75, 40], 'test preparation': ['none', 'completed', 'none', 'completed', 'completed', 'none'], } # 創(chuàng)建一個(gè) Dataframe 對(duì)象 df = pd.DataFrame(data) # 條件應(yīng)用 df["gender"] = np.where(df["gender"] == "female", 0, 1)
輸出:
使用NumPy.where()函數(shù)
方法3:使用pandas掩碼函數(shù)
Pandas的掩蔽函數(shù)是為了用一個(gè)條件替換任何行或列的值。
語(yǔ)法: df[‘column_name’].mask( df[‘column_name’] == ‘some_value’, value , inplace=True )
示例:
使用這個(gè)屏蔽條件,將性別欄中所有的 “女性 “改為0。
import pandas as pd import numpy as np # data data= { 'Name': ['John', 'Jay', 'sachin', 'Geetha', 'Amutha', 'ganesh'], 'gender': ['male', 'male', 'male', 'female', 'female', 'male'], 'math score': [50, 100, 70, 80, 75, 40], 'test preparation': ['none', 'completed', 'none', 'completed', 'completed', 'none'], } # 創(chuàng)建一個(gè) Dataframe 對(duì)象 df = pd.DataFrame(data) # 條件應(yīng)用 1 df['gender'].mask(df['gender'] == 'female', 0, inplace=True) # 條件應(yīng)用 2 #df['math score'].mask(df['math score'] >=60 ,'good', inplace=True)
輸出:
使用pandas掩碼函數(shù)
方法4:替換包含指定字符的字符串
語(yǔ)法 : data["列名"].mask(data.列名.str.contains(".*?某字符串"), "替換目標(biāo)字符串", inplace=True)
import pandas as pd import numpy as np # data data= { 'Name': ['John', 'Jay', 'sachin', 'Geetha', 'Amutha', 'ganesh'], 'gender': ['male', 'male', 'male', 'female', 'female', 'male'], 'math score': [50, 100, '良70', 80, '良75', 40], 'test preparation': ['none', 'completed', 'none', 'completed', 'completed', 'none'], } # 創(chuàng)建一個(gè) Dataframe 對(duì)象 df = pd.DataFrame(data) # 條件應(yīng)用 data["math score"].mask(data.math score.str.contains(".*?良"), "良好", inplace=True)
使用pandas掩碼函數(shù)
到此這篇關(guān)于Pandas中根據(jù)條件替換列中的值的四種方式的文章就介紹到這了,更多相關(guān)Pandas 條件替換列值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Pandas替換NaN值的方法實(shí)現(xiàn)
- Python?pandas替換指定數(shù)據(jù)的方法實(shí)例
- Pandas中批量替換字符的六種方法總結(jié)
- Python?Pandas刪除替換并提取其中的缺失值NaN(dropna,fillna,isnull)
- Python?Pandas中缺失值NaN的判斷,刪除及替換
- pandas快速處理Excel,替換Nan,轉(zhuǎn)字典的操作
- Pandas 模糊查詢與替換的操作
- pandas值替換方法
- python pandas 如何替換某列的一個(gè)值
- 使用pandas對(duì)矢量化數(shù)據(jù)進(jìn)行替換處理的方法
相關(guān)文章
python pycurl驗(yàn)證basic和digest認(rèn)證的方法
這篇文章主要介紹了python pycurl驗(yàn)證basic和digest認(rèn)證的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-05-05TensorFlow實(shí)現(xiàn)模型斷點(diǎn)訓(xùn)練,checkpoint模型載入方式
這篇文章主要介紹了TensorFlow實(shí)現(xiàn)模型斷點(diǎn)訓(xùn)練,checkpoint模型載入方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05Tornado實(shí)現(xiàn)多進(jìn)程/多線程的HTTP服務(wù)詳解
這篇文章主要介紹了Tornado實(shí)現(xiàn)多進(jìn)程/多線程的HTTP服務(wù)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值2019-07-07python將unicode和str互相轉(zhuǎn)化的實(shí)現(xiàn)
這篇文章主要介紹了python將unicode和str互相轉(zhuǎn)化的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05Pycharm 跳轉(zhuǎn)回之前所在頁(yè)面的操作
這篇文章主要介紹了Pycharm 跳轉(zhuǎn)回之前所在頁(yè)面的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02工程師必須了解的LRU緩存淘汰算法以及python實(shí)現(xiàn)過(guò)程
這篇文章主要介紹了工程師必須了解的LRU緩存淘汰算法以及python實(shí)現(xiàn)過(guò)程,幫助大家更好的學(xué)習(xí)算法數(shù)據(jù)結(jié)構(gòu),感興趣的朋友可以了解下2020-10-10python中字典(Dictionary)用法實(shí)例詳解
這篇文章主要介紹了python中字典(Dictionary)用法,以實(shí)例形式較為詳細(xì)的分析了Python字典建立、添加、刪除等常見(jiàn)操作技巧,需要的朋友可以參考下2015-05-05