用法:
Series.mask(cond, other=nan, inplace=False, axis=None, level=None, errors=NoDefault.no_default, try_cast=NoDefault.no_default)
替換條件為 True 的值。
- cond:bool 係列/數據幀,array-like,或可調用
cond
為 False 時,保留原始值。如果為 True,則替換為來自other
的相應值。如果cond
是可調用的,它是在係列/數據幀上計算的,並且應該返回布爾係列/數據幀或數組。可調用對象不能更改輸入 Series/DataFrame(盡管 pandas 不會檢查它)。- other:標量、Series/DataFrame 或可調用
cond
為 True 的條目將替換為來自other
的相應值。如果 other 是可調用的,它是在 Series/DataFrame 上計算的,並且應該返回標量或 Series/DataFrame。可調用對象不能更改輸入 Series/DataFrame(盡管 pandas 不會檢查它)。- inplace:布爾值,默認為 False
是否對數據執行就地操作。
- axis:整數,默認無
如果需要,對齊軸。
- level:整數,默認無
如果需要,對齊級別。
- errors:str,{‘raise’, ‘ignore’},默認 ‘raise’
請注意,當前此參數不會影響結果,並且始終會強製轉換為合適的 dtype。
‘raise’:允許引發異常。
‘ignore’:抑製異常。出錯時返回原始對象。
- try_cast:布爾值,默認無
嘗試將結果轉換回輸入類型(如果可能)。
與調用者相同的類型,如果
inplace=True
則為 None。
參數:
返回:
注意:
掩碼方法是if-then 成語的應用。對於調用DataFrame中的每個元素,如果
cond
是False
,則使用該元素;否則使用 DataFrameother
中的相應元素。DataFrame.where()
的簽名與numpy.where()
不同。大致df1.where(m, df2)
相當於np.where(m, df1, df2)
。有關更多詳細信息和示例,請參閱索引中的
mask
文檔。例子:
>>> s = pd.Series(range(5)) >>> s.where(s > 0) 0 NaN 1 1.0 2 2.0 3 3.0 4 4.0 dtype:float64 >>> s.mask(s > 0) 0 0.0 1 NaN 2 NaN 3 NaN 4 NaN dtype:float64
>>> s.where(s > 1, 10) 0 10 1 10 2 2 3 3 4 4 dtype:int64 >>> s.mask(s > 1, 10) 0 0 1 1 2 10 3 10 4 10 dtype:int64
>>> df = pd.DataFrame(np.arange(10).reshape(-1, 2), columns=['A', 'B']) >>> df A B 0 0 1 1 2 3 2 4 5 3 6 7 4 8 9 >>> m = df % 3 == 0 >>> df.where(m, -df) A B 0 0 -1 1 -2 3 2 -4 -5 3 6 -7 4 -8 9 >>> df.where(m, -df) == np.where(m, df, -df) A B 0 True True 1 True True 2 True True 3 True True 4 True True >>> df.where(m, -df) == df.mask(~m, -df) A B 0 True True 1 True True 2 True True 3 True True 4 True True
相關用法
- Python pandas.Series.map用法及代碼示例
- Python pandas.Series.max用法及代碼示例
- Python pandas.Series.memory_usage用法及代碼示例
- Python pandas.Series.multiply用法及代碼示例
- Python pandas.Series.mod用法及代碼示例
- Python pandas.Series.mul用法及代碼示例
- Python pandas.Series.min用法及代碼示例
- Python pandas.Series.add_prefix用法及代碼示例
- Python pandas.Series.str.isdecimal用法及代碼示例
- Python pandas.Series.str.get用法及代碼示例
- Python pandas.Series.to_csv用法及代碼示例
- Python pandas.Series.dt.day_name用法及代碼示例
- Python pandas.Series.sample用法及代碼示例
- Python pandas.Series.head用法及代碼示例
- Python pandas.Series.eq用法及代碼示例
- Python pandas.Series.plot.line用法及代碼示例
- Python pandas.Series.to_pickle用法及代碼示例
- Python pandas.Series.between_time用法及代碼示例
- Python pandas.Series.reindex_like用法及代碼示例
- Python pandas.Series.dt.is_year_end用法及代碼示例
注:本文由純淨天空篩選整理自pandas.pydata.org大神的英文原創作品 pandas.Series.mask。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。