IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python数据预处理,数据清洗的全过程复习 -> 正文阅读

[Python知识库]Python数据预处理,数据清洗的全过程复习

Python数据预处理步骤:

  1. 数据导入
  2. 数据查看
  3. 数据清洗
  4. 数据提取&筛选
  5. 数据排序
  6. 数据汇总&统计
  7. 数据标准化
  8. 导入相关包数据存储

数据清洗的详细全过程(带案例思路写)

1、导入相关包

Import pandas as pd
Import numpy as np
%matplotlib inline ?#jupyter notebook 一定要运行这一行代码,在 本地cell中显示图形(注释不能同行,会报错,换行)

Import glob ??#读取多个文件并合成一个文件
Path= ‘ ???’ ?#设置文件的路径

All.files=glob.glob(path+ ‘/*.csv’) ? #合并多个数组
All_date=[]
For filename in all_files;
??date=pd.read_csv( filename,index_col=none,header=0)
??All_date.append(date)
Date2=pd.concat(all_date.axis=0,ignore_index=true) ? #axis=0 指列,axis=1指行

2、导入数据集

date=pd.read_csv('文件路径')
date=pd.read_excel('文件路径')

date.head(2) ?#查看前两行
date.tail() ??#查看后几行

3、初步探索数据

date.shape ??#查看数据规模(维度)
date.dtypes ??#查看各变量的数据类型
date.info() ???#查看数据整体信息
date.describe() ???#显示数值型数据的描述统计
date.[‘origin’].unique() ??#查看origin 唯一值
date.[‘origin’].values() ??#查看origin 的数据


4、简单的数据处理

date.columns? ? #看列名?
Col =date.columns.values? ? ?#col提取信息
date.columns=[x.strip()for x in col]? ? ?#strip去除前后空格
date.columns

5、重复值的处理

date.duplicated? ? ?#返回布尔型数据,告诉重复性数据
date[date.duplicated ]? ? #看重复的记录
date.duplicated.sum() ? 看计数
删除重复值 Drop_duplicates()
date.Drop_duplicates(inplace=true) ?#inplace=true 表示直接在源数据上操作
date.head()
date.shape(0) 看有多少行
date.index=range(date.shape[0]) ? #重新建立索引
date.drop_duplicates(subset=[‘ ’, ‘’ ],keep= ‘first’,inplace=false) ? #指定变量判断 ? first保留第一个

6、异常值的处理

date.describe().T ? ?#.T是行列转值
Sta=(date[“价格”]-date[“价格”].mean())/date[“价格”].sta()? ?#找出价格的异常值
Sta.abs()>3? ? ? ?#标准差大于3倍为异常
date[Sta.abs()>3]

date[date.节省>date.价格]? ? #找出节省的异常值

Delindex=pd.concat([date[date.节省>date.价格],date[Sta.abs()>3]]).index? ?#把异常值合并索引
date.drop(delindex,inplace=true)? ? ?#在源数据中删除异常值
date.shape? ? #查看数据规模

7、缺失值的处理

date.isnull().any(axis=0)? ?#查看空值 判断各变量中是否存在缺失值?
date.isnull().any(axis=1) ? #判断数据行中是否存在缺失值 ?axis=o是列,axis=1是行。
date.loc [date.isnull().any(axis=1)] ? ?#定位缺失值所在的行
date.isnull().sum()? ? #各变量值缺失的数量

date.loc[date.出发地.Isnull (),”出发地”]= [str(x)[:2]for x in date.loc[date.出发地.isnull(),”线路名”]]
date.loc[date.出发地.Isnull (),”目的地”]= str(x)for x in date.loc[date.目的地.isnull(),”线路名”][5:7

date.[“价格”].fillna(round(date.[“价格”].mean(),0),inplace=true)
date.[“节省”].fillna(round(date.[“价格”].mean(),0),inplace=true) ? #mean是平均值
date.isnull().sum()

8、处理空值

Date3= date.Dropna()? ? ? #直接删除空值数据所在行
Date_null_0=date.fillna(0,inplace=false)? ? ?#定义缺失值为0 ?inplace=false就是不覆盖原始的数据
Date_null_value=date.fillna(values={‘horsepower’:date[‘horsepower’].mode()[0],inplace=false})? ? ? ?#对缺失值进行填充 ? mode 众数

9、数据排列:

Date.sort_values(by= ‘xx ’ ) ? ? ?#值排序:从小到大,一列值
Date.sort_values(by= [‘xx ’, ‘xx’] ) ?#值排序:两列值
Date.sort_values(by= ‘xx ’,ascending=false ) ?#值排序:两列值
Date.sort_index(‘index’, ascending=false) ? #索引排序

10、数据标准化

[0,1]标准化 ? 将数据压缩到0~1之间
公式
Def MaxMinNormalization(x): ? ?#定义x函数
?????????????X=(x-np.min(x))/(np.max(x)-np.min(x))
?????????????Return x
? ? s=MaxMinNormalization(x).reset_index ? #把x函数重新建群集
????s? ? ?#输出s

Z-score标准化? ?基于数据均值和方差的标准化方法,标准化的数据的均值为0,方差为1的正态分布。 ?要求原始数据的分布近似为高斯分布,否则效果会很差。

公式
Def ZescoreNormalization(x): ?
?????????X=(x-np.mean(x))/(np.std(x)) ? ?#np.std(x) 标准差
??????????Return x
y=ZescoreNormalization(x).reset_index?
y

11、处理文本型数据

????????①去空格strip
????????②?处理中间有,()之类的数据:replace(',','')
????????③正则表达式

如果想要获取一系列的文本信息,可以使用正则表达式
正则表达式通常用来检查某个规则的文本

date.head(2)?? ?
date[“酒店评分”]=date.酒店Str.exstract(“(\d\.\d)分/5分”), expand=false ?
?#\d\.\d)分/5分 是提取规则 ,expand=false :返回index,? expand=true:返回dateframe?

12、数据存储

date.to_excel(‘xx路径.xls’, sheet_name= ‘xx’ )

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-12-04 13:24:11  更:2021-12-04 13:24:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 2:26:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码