DataFrame.notna(self) → 'DataFrame' [source]
DataFrame.notnull(self) → 'DataFrame' [source]
检测现有(非缺失)值。
返回一个布尔值相同大小的对象,指示值是否不是NA
。非缺失值将映射为True
。诸如空字符串之类的字符''
或numpy.inf
不视为NA
值的字符(除非设置pandas.options.mode.use_inf_as_na = True
) 。NA
值(例如,None
或numpy.NaN
)被映射为False
值。
返回值: | DataFrame
指示元素是否不是 |
例子
1)基本使用
import pandas as pd
import numpy as np
df = pd.DataFrame({
'A': [1, 2, np.nan],
'B': ['x', None, 'z']
})
print(df)
print(df.notna())
2)获取列 A 中非空的行
import pandas as pd
import numpy as np
df = pd.DataFrame({
'A': [1, 2, np.nan],
'B': ['x', None, 'z']
})
print(df)
print(df[df['A'].notna()])
3)统计非空值个数
import pandas as pd
import numpy as np
df = pd.DataFrame({
'A': [1, 2, np.nan],
'B': ['x', None, 'z']
})
print(df)
print(df.notna().sum())
4)配合 .where()
或 .mask()
使用
import pandas as pd
import numpy as np
df = pd.DataFrame({
'A': [1, 2, np.nan],
'B': ['x', None, 'z']
})
print(df)
# 只保留非空值,其它设置为 NaN
print(df.where(df.notna()))