这行代码是什么意思?
train_data.isnull().any()
我不明白
答案 0 :(得分:2)
如果您有一个名为train_data
的df,如下所示:
train_data = pd.DataFrame( {'a':[1,2,3], 'b':[2,3,4]})
train_data.isnull().any()
告诉您在任何列中是否有nan
元素:
a False
b False
dtype: bool
为此df:train_data = pd.DataFrame( {'a':[np.nan,2,3], 'b':[2,3,4]})
您将拥有:
a True
b False
dtype: bool
any()
用于了解该列的元素是否为np.nan
。对于此df:
train_data = pd.DataFrame( {'a':[np.nan,5,np.nan], 'b':[2,3,4]})
train_data.isnull()
将具有每个元素的布尔值作为输出:
a b
0 True False
1 False False
2 True False
答案 1 :(得分:1)
isnull
为每个值返回一个布尔值语句,any进入每一列以检查是否为true,然后继续执行any,另一个any将检查是否为true
如果您不知道,isnull
将检查每个值的numpy nan
另一方面,any
可以有一个axis
参数,如果为1,则表示每一行,否则为否。
示例(也请阅读注释):
>>> import pandas as pd
>>> import numpy as np
>>> df = pd.DataFrame({'a':[np.nan,2,3], 'b':[2,np.nan,4]})
>>> df.isnull() # for each value
a b
0 True False
1 False True
2 False False
>>> df.isnull().any() # for each column
a True
b True
dtype: bool
>>> df.isnull().any(axis=1) # for each row
0 True
1 True
2 False
dtype: bool
>>> df.isnull().any().any() # for any value
True