DataFrame.any(axis=0, bool_only=None, skipna=True, level=None, **kwargs) [source]
返回任何元素是否为真(可能在轴上)。
返回False
,除非在一个series中或沿着Dataframe
轴至少有一个元素为真或等效(例如,非零或非空)。
参数: | axis : {0 or ‘index’, 1 or ‘columns’, None}, 默认 0 指出哪个axis或哪个axis应该减少 0 / ‘index’ : 减少索引,返回索引为原始列标签的Series。 1 / ‘columns’ : 减少列,返回一个索引为原始索引的Series。 None:减少所有轴,返回一个标量。 bool_only : 只包含布尔列。如果没有,将尝试使用一切, 然后只使用布尔数据。不适用于Series。 skipna : 排除NA/null值。如果整个行/列为NA并且skipna为 那么结果将为 如果skipna是 因为它们不等于零。 level : 如果轴是一个多索引(层次结构), 则沿着特定的级别进行计数,并折叠成一个Series。 **kwargs : 附加关键字没有效果,但是可以接受与NumPy兼容。 |
返回: | Series 或 DataFrame 如果指定了level,则返回DataFrame;否则,返回Series。 |
例如,
Series
对于Series输入,输出是一个标量,指示任何元素是否为True。
>>> pd.Series([False, False]).any()
False
>>> pd.Series([True, False]).any()
True
>>> pd.Series([]).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
使用axis=None聚合整个DataFrame
>>> df.any(axis=None)
True
空DataFrame的any是空的Series
>>> pd.DataFrame([]).any()
Series([], dtype: bool)