Pandas any(~)
方法掃描 DataFrame 的每一行或每一列,如果行/列包含至少一個非零值或布爾值 True
,則為該行/列返回 True
。
注意
在 Pandas 中。布爾值 True
相當於 1
,而 False
相當於 0
。
參數
1.axis
| int
或 string
| optional
是否掃描源DataFrame的每一行或每一列:
軸 |
說明 |
返回類型 |
---|---|---|
|
掃描每一列 |
|
|
掃描每一行 |
|
|
掃描整個DataFrame |
|
默認情況下,axis=0
。
2. bool_only
| boolean
| optional
-
如果
True
,則僅掃描布爾列。 -
如果
False
,則將掃描所有列。
默認情況下,bool_only=False
。
3. skipna
| boolean
| optional
-
如果
True
,NaN
將被視為False
。 -
如果
False
,則NaN
將被視為True
。
默認情況下,skipna=True
。
4. level
| int
或 string
| optional
目標水平。僅當您的 DataFrame 是多索引時,這才有意義。
返回值
返回類型取決於axis
:
-
如果
axis=None
,則返回單個布爾值。 -
否則,返回一係列布爾值。
例子
考慮以下 DataFrame :
df = pd.DataFrame({"A":[2,0,1], "B":[1,0,0], "C":[0,0,0]})
df
A B C
0 2 1 0
1 0 0 0
2 1 0 0
逐列掃描
按列掃描是否存在非零值:
df.any() # or explicitly set axis=0
A True
B True
C False
dtype: bool
在此,請注意以下事項:
-
A
和B
列中至少有一個非零值,因此為這些列返回True
。 -
自
axis != None
以來,返回類型為Series
。
逐行掃描
僅供您參考,我們再次在此顯示df
:
df
A B C
0 2 1 0
1 0 0 0
2 1 0 0
要按行掃描,請設置 axis=1
是否存在非零值:
df.any(axis=1) # returns a Series
0 True
1 False
2 True
dtype: bool
掃描整個DataFrame
要掃描整個 DataFrame 是否存在非零值,請設置 axis=None
:
df.any(axis=None)
True
僅掃描布爾列
考慮以下 DataFrame :
df = pd.DataFrame({"A":[2,0], "B":[True,False], "C":[0,0]})
df
A B C
0 2 True 0
1 0 False 0
要僅掃描包含布爾值的列,請設置 bool_only=True
:
df.any(bool_only=True)
B True
dtype: bool
請注意如何僅考慮列 B
,因為它是唯一類型為 boolean
的列。
考慮缺失值
默認情況下, skipna=True
,這意味著將跳過缺失值(視為 0
或 False
)。
作為示例,請考慮以下 DataFrame:
df = pd.DataFrame({"A": [pd.np.nan, 0]})
df
A
0 NaN
1 0.0
調用 any()
給出:
df.any() # or skipna=True
A False
dtype: bool
在這裏,我們得到 False
,因為跳過了 NaN
,A
列中的所有值都是 0
。
相反,設置 skipna=False
會將 NaN
視為 True
:
df.any(skipna=False)
A True
dtype: bool
由於我們現在 A
列中至少有一個非零值,因此返回 True
。
相關用法
- Python Pandas DataFrame agg方法用法及代碼示例
- Python Pandas DataFrame all方法用法及代碼示例
- Python Pandas DataFrame add方法用法及代碼示例
- Python Pandas DataFrame asfreq方法用法及代碼示例
- Python PySpark DataFrame alias方法用法及代碼示例
- Python Pandas DataFrame append方法用法及代碼示例
- Python Pandas DataFrame asof方法用法及代碼示例
- Python Pandas DataFrame add_prefix方法用法及代碼示例
- Python Pandas DataFrame add_suffix方法用法及代碼示例
- Python Pandas DataFrame at屬性用法及代碼示例
- Python Pandas DataFrame axes屬性用法及代碼示例
- Python Pandas DataFrame astype方法用法及代碼示例
- Python Pandas DataFrame align方法用法及代碼示例
- Python Pandas DataFrame assign方法用法及代碼示例
- Python Pandas DataFrame apply方法用法及代碼示例
- Python Pandas DataFrame applymap方法用法及代碼示例
- Python Pandas DataFrame at_time方法用法及代碼示例
- Python Pandas DataFrame abs方法用法及代碼示例
- Python Pandas DataFrame empty屬性用法及代碼示例
- Python Pandas DataFrame pop方法用法及代碼示例
- Python Pandas DataFrame nsmallest方法用法及代碼示例
- Python Pandas DataFrame sample方法用法及代碼示例
- Python Pandas DataFrame items方法用法及代碼示例
- Python Pandas DataFrame max方法用法及代碼示例
- Python Pandas DataFrame swaplevel方法用法及代碼示例
注:本文由純淨天空篩選整理自Isshin Inada大神的英文原創作品 Pandas DataFrame | any method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。