Pandas是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。本文主要介绍一下Pandas中pandas.DataFrame.all方法的使用。

DataFrame.all(axis=0, bool_only=None, skipna=True, level=None, **kwargs)                            [source]

返回是否所有元素都为真(可能在轴上)。

返回True,除非在一个series中或沿着Dataframe轴至少有一个元素是假的或等效的(例如zero 或 empty)。

参数:

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

指出哪个轴或哪个轴应该减少。

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

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

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

bool_only bool, 默认 None

只包含布尔列。如果没有,将尝试使用一切,

然后只使用布尔数据。不适用于Series。

skipna : bool, 默认 True

排除NA/null值。如果整个row/column为NA,

并且skipna为True,那么对于空row/column,

结果将为True。如果skipna是False

那么NA就被当作True,因为它们不等于零。

level : int 或 level name, 默认 None

如果轴是一个多索引(层次结构),

则沿着特定的level进行计数,并折叠成一个Series

**kwargs : any, 默认 None

附加关键字没有效果,但是可以接受与NumPy兼容。

返回:

SeriesDataFrame

如果指定了level,则返回DataFrame;否则,返回Series

例子,

Series

>>> pd.Series([True, True]).all()
True
>>> pd.Series([True, False]).all()
False
>>> pd.Series([]).all()
True
>>> pd.Series([np.nan]).all()
True
>>> pd.Series([np.nan]).all(skipna=False)
True

DataFrames

1)从字典中创建一个dataframe。

>>> df = pd.DataFrame({'col1': [True, True], 'col2': [True, False]})
>>> df
col1 col2
0 True True
1 True False

2)默认行为检查列值是否都返回True

>>> df.all()
col1 True
col2 False
dtype: bool

3)指定axis='columns',检查行方向的值是否都返回True

>>> df.all(axis='columns')
0 True
1 False
dtype: bool

4)或者axis=None,表示是否每个值都为True

>>> df.all(axis=None)
False