當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python Pandas dataframe.mask()用法及代碼示例


Python是進行數據分析的一種出色語言,主要是因為以數據為中心的python軟件包具有奇妙的生態係統。 Pandas是其中的一種,使導入和分析數據更加容易。

Pandas dataframe.mask()函數返回與self形狀相同的對象,並且其對應的條目來自cond為False的self,否則來自其他對象。另一個對象可以是標量,序列, DataFrame ,也可以是可調用的。遮罩方法是if-then慣用語的一種應用。對於調用DataFrame中的每個元素,如果cond為False,則使用該元素;否則為false。否則,將使用DataFrame other中的相應元素。

用法: DataFrame.mask(cond, other=nan, inplace=False, axis=None, level=None, errors=’raise’, try_cast=False, raise_on_error=None)

參數:
cond:如果cond為False,請保留原始值。如果為True,則用其他的相應值替換。如果cond是可調用的,則它在NDFrame上計算,並應返回布爾值NDFrame或數組。可調用對象不得更改輸入NDFrame(盡管pandas不會對其進行檢查)。

other:cond為True的條目將替換為其他條目的對應值。如果other是可調用的,則它在NDFrame上計算,並應返回標量或NDFrame。可調用對象不得更改輸入NDFrame(盡管pandas不會對其進行檢查)。
inplace:是否對數據執行適當的操作
axis:對齊軸(如果需要),默認為無
level:對齊級別(如果需要),默認為無
errors:str,{“ raise”,“ ignore”},默認“ raise”
引發允許引發異常,並忽略抑製異常。錯誤時返回原始對象。請注意,當前此參數不會影響結果,並且始終會強製轉換為合適的dtype。

try_cast:嘗試將結果轉換回輸入類型(如果可能),

返回值:wh:與調用者類型相同

範例1:采用mask()函數用-25替換 DataFrame 中大於10的所有值

# importing pandas as pd 
import pandas as pd 
  
# Creating the dataframe  
df = pd.DataFrame({"A":[12, 4, 5, 44, 1], 
                   "B":[5, 2, 54, 3, 2], 
                   "C":[20, 16, 7, 3, 8], 
                   "D":[14, 3, 17, 2, 6]}) 
  
# Print the dataframe 
df

讓我們使用dataframe.mask()函數用-25替換所有大於10的值

# replace values greater than 10 with -25 
df.mask(df > 10, -25)

輸出:

範例2:采用mask()具有可調用函數。更換所有Na值1000。

# importing pandas as pd 
import pandas as pd 
  
# Creating the dataframe  
df = pd.DataFrame({"A":[12, 4, 5, None, 1], 
                   "B":[7, 2, 54, 3, None], 
                   "C":[20, 16, 11, 3, 8], 
                   "D":[14, 3, None, 2, 6]}) 
  
# replace the Na values with 1000 
df.mask(df.isna(), 1000))

輸出:



相關用法


注:本文由純淨天空篩選整理自Shubham__Ranjan大神的英文原創作品 Python | Pandas dataframe.mask()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。