pandas对缺失的数据的处理的主要方法有3个,分别是fillna(),dropna(),以及isna()三个方法。今天主要讲解dropna()方法,该方法主要就是对空数据进行删除。
例如:有如下表格
1、axis参数:
- 0, or ‘index’ : Drop rows which contain missing values.
- 1, or ‘columns’ : Drop columns which contain missing value.
* >>> import pandas as pd
>>> df = pd.read_excel(r'D:/myExcel/1.xlsx')
>>> df
name Chinese Chinese.1 id
0 bob 12.0 12 123.0
1 millor NaN 32 124.0
2 jiken 89.0 89 NaN
3 jiken 89.0 89 125.0
# 默认axis=0即删除包含NaN值的行
>>> df.dropna()
name Chinese Chinese.1 id
0 bob 12.0 12 123.0
3 jiken 89.0 89 125.0
# axis=1 即删除包含NaN值的列
>>> df.dropna(axis=1)
name Chinese.1
0 bob 12
1 millor 32
2 jiken 89
3 jiken 89
(2)how参数
how : {‘any’, ‘all’}, default ‘any’
- ‘any’ : If any NA values are present,
drop that row or column.
(只要包含一个NaN则删除整行或者整列) - ‘all’ : If all values are NA, drop that row or column.
# 当指定how为 all时,则没有一个符合条件
>>> df.dropna(how='all')
name Chinese Chinese.1 id
0 bob 12.0 12 123.0
1 millor NaN 32 124.0
2 jiken 89.0 89 NaN
3 jiken 89.0 89 125.0
(3)thresh参数
该参数是当how参数无法满足需求时,可以使用,它的意思是每行或者每列必须包含多少个NaN时才会做删除操作
# 指定个数为2并不会做任何删除操作
>>> df.dropna(thresh=2)
name Chinese Chinese.1 id
0 bob 12.0 12 123.0
1 millor NaN 32 124.0
2 jiken 89.0 89 NaN
3 jiken 89.0 89 125.0
(4)inplace参数
该参数的主要作用是是否用新得到的DataFrame替代原来的,默认是否
>>> df
name Chinese Chinese.1 id
0 bob 12.0 12 123.0
1 millor NaN 32 124.0
2 jiken 89.0 89 NaN
3 jiken 89.0 89 125.0
>>> df.dropna(inplace=True)
>>> df
name Chinese Chinese.1 id
0 bob 12.0 12 123.0
3 jiken 89.0 89 125.0
哈哈,以上就是关于dropna参数的介绍,欢迎关注:python小工具。让我们一起为实现办公自动化努力。