欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Pyhton缺失值处理

程序员文章站 2022-03-03 21:13:01
缺失值处理#!/usr/bin/env Python3# -*- coding: utf-8 -*-# @Software: PyCharm# @virtualenv:workon# @contact: 1040691703@qq.com# @Desc:Code descripton__author__ = '未昔/AngelFate'__date__ = '2019/12/7 15:04'import pandas as pdimport redata = pd.read....

缺失值处理

 

#!/usr/bin/env Python3
# -*- coding: utf-8 -*-
# @Software: PyCharm
# @virtualenv:workon
# @contact: 1040691703@qq.com
# @Desc:Code descripton
__author__ = '未昔/AngelFate'
__date__ = '2019/12/7 15:04'
import pandas as pd
import re

data = pd.read_csv('./task0201/spider.log')
print('总数数据行:%s,不含空值的数据行:%s, 去除行全为空值的行数据:%s, 去除含至少出现两个空值的行数据%s ' %
      (len(data), len(data.dropna()), len(data.dropna(how='all')), len(data.dropna(thresh=2)) ))
# print(data.dropna()) # 不含空值的行数据
# print(data.dropna(how='all')) # 该行所有值全为缺失值才删除
# print(data.dropna(thresh=2)) # 至少出现过两个缺失值才删除
#print(data.dropna(subset=['name', 'born'])) # 删除这个subset中的含有缺失值的行或列

# ---------- 1:取行的操作:
# print('第x行到第y行直接的行数据:\n',data.loc[3:6])  # 类似于python的切片操作

# ---------- 2:无header,iloc 取列操作。Ps:数据矩阵,从(0,0)即0行0列开始
# 分别提取第0列。第1行第2列。第3列前五个数据。提取第0,1列数据
# print('第x列数据:\n',data.iloc[:,0]) # data.iloc[:,x]:表示第x列
# print(data.iloc[1,2])  # data.iloc[x,y]:表示第x行,第y列
# print((data.iloc[:,2]).head())
# print(data.iloc[:,[0,1]])
# print(data.iloc[:,lambda df:[0,1]])

# ---------- 3、获取缺失值
column_null = pd.isnull(data)
# print(column_null)
column_is_null_true = data[column_null]
# print(column_is_null_true)

# ---------- 4、缺失值处理
# 4.1 利用thresh,留下一部分观测数据
# thresh=3,表示在行方向上至少有3个非NAN的项保留
# print(len(data))
# print(data.dropna(thresh=3))

# 在列方向上至少有3个非NAN的项保留
# print(len(data))
# print(data.dropna(thresh=3,axis=1))

# 4.2 填充缺失数据
# 用fillna的方法,将缺失值替换为常数值,或指定内容
# print(data.fillna('wangwei'))

# 过一个字典调用fillna实现对不同的列填充不同的值
# print(data.fillna({1:'f201',2:'f202',3:'f203',4:'f204'}))  # 没用

# 对reindex有效的那些差值方法也可以用于fillna
# print(data.fillna(method='ffill',limit=3))
# print(data.fillna(method='bfill',limit=2))

本文地址:https://blog.csdn.net/qq_41793928/article/details/107653869