pandas.DataFrame.any#

DataFrame.any(*, axis=0, bool_only=False, skipna=True, **kwargs)[源代码][源代码]#

返回是否任何元素为 True,可能超过一个轴。

除非在序列中或沿 DataFrame 轴至少有一个元素为 True 或等效(例如非零或非空),否则返回 False。

参数:
{0 或 ‘index’, 1 或 ‘columns’, None}, 默认 0

指示应减少哪个轴或哪些轴。对于 Series,此参数未使用并默认为 0。

  • 0 / ‘index’ : 减少索引,返回一个索引为原始列标签的 Series。

  • 1 / ‘columns’ : 减少列数,返回一个索引为原始索引的 Series。

  • None : 减少所有轴,返回一个标量。

bool_onlybool, 默认为 False

仅包含布尔列。对于 Series 未实现。

skipna布尔值, 默认为 True

排除 NA/null 值。如果整行/整列都是 NA 且 skipna 为 True,那么结果将是 False,因为对于空行/列。如果 skipna 为 False,那么 NA 被视为 True,因为这些不等于零。

**kwargs任意, 默认无

额外的关键字没有效果,但可能被接受以兼容NumPy。

返回:
序列或标量

如果 axis=None,则返回一个标量布尔值。否则返回一个索引与 index 参数匹配的 Series。

参见

numpy.any

此方法的 Numpy 版本。

Series.any

返回是否有任何元素为真。

Series.all

返回是否所有元素都为真。

DataFrame.any

返回请求轴上是否有任何元素为真。

DataFrame.all

返回请求轴上所有元素是否为True。

示例

系列

对于序列输入,输出是一个标量,指示是否有任何元素为真。

>>> pd.Series([False, False]).any()
False
>>> pd.Series([True, False]).any()
True
>>> pd.Series([], dtype="float64").any()
False
>>> pd.Series([np.nan]).any()
False
>>> pd.Series([np.nan]).any(skipna=False)
True

DataFrame

每列是否至少包含一个 True 元素(默认)。

>>> df = pd.DataFrame({"A": [1, 2], "B": [0, 2], "C": [0, 0]})
>>> df
   A  B  C
0  1  0  0
1  2  2  0
>>> df.any()
A     True
B     True
C    False
dtype: bool

聚合列。

>>> df = pd.DataFrame({"A": [True, False], "B": [1, 2]})
>>> df
       A  B
0   True  1
1  False  2
>>> df.any(axis='columns')
0    True
1    True
dtype: bool
>>> df = pd.DataFrame({"A": [True, False], "B": [1, 0]})
>>> df
       A  B
0   True  1
1  False  0
>>> df.any(axis='columns')
0    True
1    False
dtype: bool

在整个 DataFrame 上进行聚合,使用 axis=None

>>> df.any(axis=None)
True

空 DataFrame 的 any 是一个空 Series。

>>> pd.DataFrame([]).any()
Series([], dtype: bool)