顾名思义,any()一个序列中满足一个True,则返回True;all()一个序列中所有值为True时,返回True,否则为False。这点可从 Series 的any()和all()的例子中看出。
>>>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
1、pandas.DataFrame.any()
DataFrame.any
(self, axis=0, bool_only=None, skipna=True, level=None, **kwargs)
- axis:轴方向,默认为0
- bool_only:用于是否只利用序列中的Boolean值进行判断
- skipna,是否跳过NA/null值
- return 一个series或DataFrame
>>>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
2、pandas.DataFrame.all()
DataFrame.all
(self, axis=0, bool_only=None, skipna=True, level=None, **kwargs)
参数与any()一致
#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
#DataFrame
>>> df = pd.DataFrame({'col1': [True, True], 'col2': [True, False]})
>>> df
col1 col2
0 True True
1 True False
>>> df.all()
col1 True
col2 False
dtype: bool
>>> df.all(1)
0 True
1 False
dtype: bool
>>> df.all(axis=None)
False
pandas中 isnull() 和 any() 的联合使用
# 查看各列是否存在空值,True表示有空值
movie_data.isnull().any(axis=0)
## output
id False
imdb_id True
popularity False
budget False
revenue False
original_title False
cast True
homepage True
director True
tagline True
keywords True
overview True
runtime False
genres True
production_companies True
release_date False
vote_count False
vote_average False
release_year False
budget_adj False
revenue_adj False
dtype: bool
# 含有空值的列数
movie_data.isnull().any(axis=0).sum()
## output
9
# 查看各行是否存在空值
movie_data.isnull().any(axis=1)
## output
0 False
1 False
2 False
3 False
4 False
5 False
···
10860 True
10861 True
10862 True
10863 True
10864 True
10865 True
Length: 10866, dtype: bool
# 含有空值的行数
movie_data.isnull().any(axis=1).sum()
## output
8874