最近学习用pandas做数据处理时,发现网上提供的处理方式比较一般,以下提供一种思路,可以更直观地查看缺失值并进行处理。
1.获取数据
2.遍历所有有缺失值的位置
3.缺失值查看
4.缺失值处理
环境为Jupyter Notebook
# 1.获取数据
import pandas as pd
import numpy as np
df = pd.read_csv('车厘子.csv',header=None,
names=['商品名称','商品价格','付款人数','店铺名称','发货地址']) #添加字段名称
df.sample(5)
# 2.遍历所有有缺失值的位置
for i in df.columns:
if df[i].count() != len(df):
row = df[i][df[i].isnull().values].index.tolist()
print('列名:"{}", 第{}行位置有缺失值'.format(i,row))
3.缺失值查看
#题目:提取发货地址列含有空值的行
df[df['发货地址'].isnull()]
4.缺失值处理
df.dropna(axis=0, how='any', inplace=True)
# axis:0-行操作(默认),1-列操作
# how:any-只要有空值就删除(默认),all-全部为空值才删除
# inplace:False-返回新的数据集(默认),True-在原数据集上操作
df.iloc[5:10]
可以看到缺失发货地址的第8行已删除。