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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。