用法:
DataFrame.where(cond, other=NoDefault.no_default, inplace=False, axis=None, level=None, errors='raise', try_cast=NoDefault.no_default)
替換條件為 False 的值。
- cond:bool 係列/數據幀,array-like,或可調用
cond
為 True 時,保留原始值。如果為 False,則替換為來自other
的相應值。如果cond
是可調用的,它是在係列/數據幀上計算的,並且應該返回布爾係列/數據幀或數組。可調用對象不能更改輸入 Series/DataFrame(盡管 pandas 不會檢查它)。- other:標量、Series/DataFrame 或可調用
cond
為 False 的條目將替換為來自other
的相應值。如果 other 是可調用的,它是在 Series/DataFrame 上計算的,並且應該返回標量或 Series/DataFrame。可調用對象不能更改輸入 Series/DataFrame(盡管 pandas 不會檢查它)。- inplace:布爾值,默認為 False
是否對數據執行就地操作。
- axis:int 默認無
如果需要,對齊軸。
- level:int 默認無
如果需要,對齊級別。
- errors:str,{‘raise’, ‘ignore’},默認 ‘raise’
請注意,當前此參數不會影響結果,並且始終會強製轉換為合適的 dtype。
‘raise’:允許引發異常。
‘ignore’:抑製異常。出錯時返回原始對象。
- try_cast:布爾值,默認無
嘗試將結果轉換回輸入類型(如果可能)。
- 與調用者相同的類型,如果
inplace=True
則為 None。
- 與調用者相同的類型,如果
參數:
返回:
注意:
where 方法是if-then 成語的應用。對於調用DataFrame 中的每個元素,如果
cond
是True
,則使用該元素;否則使用DataFrameother
中的相應元素。DataFrame.where()
的簽名與numpy.where()
不同。大致df1.where(m, df2)
相當於np.where(m, df1, df2)
。有關更多詳細信息和示例,請參閱索引中的
where
文檔。例子:
>>> 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.DataFrame.ewm用法及代碼示例
- Python pandas.DataFrame.dot用法及代碼示例
- Python pandas.DataFrame.apply用法及代碼示例
- Python pandas.DataFrame.combine_first用法及代碼示例
- Python pandas.DataFrame.cumsum用法及代碼示例
- Python pandas.DataFrame.rename用法及代碼示例
- Python pandas.DataFrame.to_numpy用法及代碼示例
- Python pandas.DataFrame.dtypes用法及代碼示例
- Python pandas.DataFrame.cummin用法及代碼示例
- Python pandas.DataFrame.truncate用法及代碼示例
- Python pandas.DataFrame.sparse.from_spmatrix用法及代碼示例
- Python pandas.DataFrame.add_prefix用法及代碼示例
- Python pandas.DataFrame.to_json用法及代碼示例
- Python pandas.DataFrame.convert_dtypes用法及代碼示例
- Python pandas.DataFrame.assign用法及代碼示例
- Python pandas.DataFrame.radd用法及代碼示例
- Python pandas.DataFrame.add用法及代碼示例
- Python pandas.DataFrame.drop用法及代碼示例
- Python pandas.DataFrame.rename_axis用法及代碼示例
- Python pandas.DataFrame.isna用法及代碼示例
注:本文由純淨天空篩選整理自pandas.pydata.org大神的英文原創作品 pandas.DataFrame.where。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。