``
首先介绍 dropna 常用参数:
DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
主要的2个参数axis和how:
#axis=0: 删除包含缺失值(NaN)的行
#axis=1: 删除包含缺失值(NaN)的列
# how='any': 要有缺失值(NaN)出现删除
# how='all': 所有的值都缺失(NaN)才删除
这两个要配合使用才好。
还有一个thresh参数
如果缺失值(NaN)的数量大于thresh,将删除
创建 DataFrame 样例数据
>>> import pandas as pd
>>> import numpy as np
>>> data = pd.DataFrame({'a': [1, 2, 4, np.nan,7, 9], 'b': ['a', 'b', np.nan, np.nan, 'd', 'e'], 'c': [np.nan, 0, 4, np.nan, np.nan, 5], 'd': [np.nan, np.nan, np.nan, np.nan, np.nan, np.nan]})
>>> data
a b c d
1.0 a NaN NaN
2.0 b 0.0 NaN
4.0 NaN 4.0 NaN
NaN NaN NaN NaN
7.0 d NaN NaN
9.0 e 5.0 NaN
判断值 value 是否为 NaN
>>> np.isnan(value) # return Ture or False #
>>> value is np.nan # return Ture or False #
删除 NaN 所在行
'''use dropna(axis=0,how='all')'''
>>> data.dropna(axis=0,how='all')
a b c d
1.0 a NaN NaN
2.0 b 0.0 NaN
4.0 NaN 4.0 NaN
7.0 d NaN NaN
9.0 e 5.0 NaN
删除表中含有任何 NaN 的行
'''use dropna(axis=0,how='any')'''
>>> data.dropna(axis=0,how='any')
Empty DataFrame
Columns: [a, b, c, d]
Index: []
删除表中全部为 NaN 的列
'''use dropna(axis=1, how='all')'''
>>> data.dropna(axis=1, how='all')
a b c
1.0 a NaN
2.0 b 0.0
4.0 NaN 4.0
NaN NaN NaN
7.0 d NaN
9.0 e 5.0
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于