检查df是不是有空值
检查每个元素是不是空的
df.isnull()
表里面有一个元素如果是空的,这个返回值都会是True。如果df中没有空值,下面这个返回值就是False。
np.any(df.isnull())
isna()方法和isnull()方法没有区别,完全一样,都是判断有没有空值。
如何填充空值
首先找个有缺失值的df
df
prop value
0 11.85 NaN
1 11.85 11.85
2 28.34 28.34
3 6.46 NaN
4 6.46 6.46
.. ... ...
574 14.67 14.67
575 2.14 2.14
576 2.83 2.83
577 8.22 8.22
578 2.23 2.23
df.fillna(0)会将所有空值填充为0。
只想在原表里填充某一列:df.prop.fillna(method=‘bfill’,inplace=True)。
从后面向前面填充:df.fillna(method=‘bfill’)。最后一行空值还是会是空。纵向填充。
从前面的数值向后面填充:df.fillna(method=‘ffill’)。第一行空值还是会是空。纵向填充。
从前面的数值向后面填充:df.fillna(method=‘ffill’,axis=1)。横向填充。类型一样才行。
插值:df.interpolate(method=‘linear’, limit_direction=‘forward’, axis=0)
删除空值:
df.dropna(axis=0, how='any', inplace=True)
axis:
0: 行操作(默认)
1: 列操作
how:
any: 只要有空值就删除(默认)
all:全部为空值才删除
inplace:
False: 返回新的数据集(默认)
True: 在愿数据集上操作