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()))