# -*- coding: utf-8 -*-
#概念:由于某些原因,导致数据中的某些列的值缺失,这种情况可能是正常的,也可能是不正常的。我们可以选择不处理、补齐、或删除对应的行
#dropna函数作用:去除数据结构中值为空的数据。
#dropna函数语法:dropna()
from pandas import read_csv
df = read_csv(“D:/workspaces/python/pythonStudy/9.csv”,encoding=’utf-8′)
#查看导入结果,可以看到有的列的值是空的NaN
#有些情况,我们可能有这样的需求:如果某个列的值是某个字符串,那么,我们也认为它是空的:
df = read_csv(“D:/workspaces/python/pythonStudy/9.csv”,
na_values=[‘null’])
#观察得到的df对象,可以看到csv文件中的null,读取出来也是NaN了
#找出空值的位置:
isNa = df.isnull() #返回的是一个数据框对象,元素值都是布尔类型的
#获取空值所在的行
df[isNa.any(axis=1)] #只要某一行,有任意一个值为空,就会返回该行,执行结果是一个数据框,里面都是包含空值的行
df[isNa[[‘key’]].any(axis=1)] #返回名称为key的列存在空值的行
df[isNa[[‘key’,’value’]].any(axis=1)] #返回名称为key或value的列存在空值的行(任意一列存在空值则返回)
#对空值进行填充:
df.fillna(‘未知’)
#删除包含空值的行
newDf = df.dropna()