Python常见数据处理技术——数据的概览与清洗、多表合并与连接、数据的汇总

内容概览:
本文主要介绍有关数据探索和处理的常用技术,包括“脏”数据的判别与清洗、数据子集的筛选、多表之间的操作以及分组统计方法。
由于针对具体操作相关文档太多,所以本文内容涉及具体操作较少,主要是讲方法。

  • 2020.07.16新增使用sklearn的数据预处理方法

本文内所用到的包:

import pandas as pd
import numpy as np
from sklearn.impute import SimpleImputer

一.数据的概览与清洗

读入数据:data3=pd.read_excel(‘data3.xlsx’),本节之后操作以data3为基础

1.数值类型的判断和转换

拿到一个数据后,通常需要进行如下操作,这也是一个最常用的操作顺序。

print(data3.shape)#查看数据的规模 (3000, 6)
print(data3.head())

在这里插入图片描述
print(data3.dtypes)#查看表中各变量的数据类型

在这里插入图片描述
根据实际情况转换数据类型

data3[‘id’]=data3[‘id’].astype(str)
data3[‘custom_amt’]=data3[‘custom_amt’].str[1:].astype(float)
data3[‘order_date’]=pd.to_datetime(data3[‘order_date’],format="%Y年%m月%d日")
print(data3.dtypes)
print(data3.head())
在这里插入图片描述在这里插入图片描述

2.冗余数据的判断和处理

print(data3.duplicated().any())#False

如果结果为true,可调用drop_duplicates()去掉重复行

3.缺失数据的判断与处理

判断一个数据集是否存在缺失观测值,通常从两个方面入手:一个是变量的角度,即判断每个变量中是否包含缺失值;另一个是数据行的角度,即判断每行数据中是否包含缺失值。

print(data3.isnull().any(axis=0))#判断各变量中是否存在缺失值
print(data3.isnull().sum(axis=0))#各变量中缺失值的数量
print(data3.isnull().sum(axis=0)/data3.shape[0])#各变量中缺失值的比例

对于缺失值的处理,常用的方法为删除法、替换法和插补法

  • 删除法:缺失行的比例在5%以内或缺失值所对应的变量在70%左右
  • 替换法:直接利用缺失变量的均值、中位数或众数替换该变量中的缺失值
  • 插补法:可使用线性回归模型等

使用删除法:

data3.drop(labels='edu',axis=1,inplace=True)#删除缺失率非常高的edu,inplace=True表示原地修改
data3_new = data3.drop(labels=data3.index[data3['age'].isnull()],axis=0)#删除观测值,如删除age变量中所对应的缺失观测值
#或者
data3_new = data3
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值