数据分析系列 之python中数据探索与预处理

数据预处理之空值与异常值处理 在大部分的数据分析里面,直接获取的数据都会存在一些问题,比如缺失值,异常值等,在进行深度分析前都需要对这些数据进行预处理。 读取并初步查看数据 读取数据后查看数据特征列, 首先筛选出分析所需要的列,然后再对数据进行描述统计(describe)和箱线图(boxplot),查看数据的缺失情况,异常值分布情况。但是在特征量很多时并不适合用图查看。 在进行数据统计时,在spyder中为了显示所有行和列,会需要用到两行语句: pd.set_option(‘display.max_rows’,None) #显示所有行 阅读详情

1 概述
1.1 数据探索
检查数据错误,了解数据分布特征和内在规律
1.2 数据预处理
数据清洗 Data cleaning
数据集成 Data integration
数据变换 Data transformation
数据规约 Data reduction

2 数据清洗
2.1 缺失值处理
删除
填充:固定值、均值、中位数、上下数据、插值函数、最可能的值(回归分析填充)
举例:DataFrame缺失值处理

x = pd.read_csv('A.csv',index_col='Date')
#检测空值
x.isnull()
#暴力处理,直接删除空数据,all代表全部为null才删除,默认是只要有空值就删除
x.dropna(how='all')
x.dropna()
#数据填充
x.fillna(x.mean(),inplace=True)
#上一个值填充
x.fillna(method='ffill')
#下一个值填充
x.fillna(method='bfill')

2.2 异常值处理
观察异常值:简单统计、绘图、基于密度聚类等方法
使用方法:describe()、boxplot()等
处理:同缺值填充、局部均值

x = pd.read_csv('A.csv',index_col='Date')
x.fillna(x.mean(),inplace=True)
#可使用一些方法观察
x.describe()
#绘制箱型图前删除不在一个数量级的数据
x.iloc[:,0:4]
#箱型图异常值判断:按照1/4位置距离判断
x.drop('Volume',axis=1).boxplot()
#自定义规则,3c原则,即数据在[u-3c,u+3c]之间,代表均值与标准差的关系
x[abs(x-x.mean())>3*x.std()].dropna(how='all')

3 数据变换
3.1 介绍
把数据变成合适的形式,常见方式有规范化、连续属性离散化和特征二值化
3.2 数据规范化(归一化)
常见方法:最小-最大规范化、z-score规范化、小数定标规范化

import pandas as pd
df=pd.DataFrame(A.data[:,3:6])
df.columns=A.feature_names[3:6]
#最小-最大规范化,支持矢量运算
(df-df.min())/(df.max()-df.min())

#使用sklearn中的preprocessing模块
from sklearn import preprocessing
preprocessing.minmax_scale(df)

#z-score规范化:结果=(数值-均值)/标准差,处理后数据的均值为0,标准差为1
(df-df.mean())/df.std()

#使用sklearn中的preprocessing模块
from sklearn import preprocessing
preprocessing.scale(df)

#小数定标规范化:常见落在[-1,1]区间,通过移动小数点的位数实现,移动位数取决于属性绝对值的最大值的位数
#ceil向上取整
import numpy as np
df/10**np.ceil(np.log10(df.abs().max()))

3.3 连续属性离散化
常见方法:分箱法(等宽法、等频法)、聚类

import pandas as pd
#等宽法,5个箱子,标签为0-4
pd.cut(df.AGE,5,label=range(5))
#等频法
pd.qcut(df.AGE,5,label=range(5))

3.4 特征二值化
将多分类问题—>二分类问题

#使用sklearn中的preprocessing模块
from sklearn import preprocessing
#转换维度
x=boston.target.reshape(-1,1)
Binarizer(threshold=20.0).fit_transform(x)

4 数据规约
4.1 介绍
缓解维数灾难,获得一个比原数据集小的多的规约表示
常用方法:
属性规约:向前选择、向后删除、决策树、PCA
数值规约:有参方法(回归等)、无参法(直方图、聚类、抽样等)
4.2 PCA

from sklearn.decomposition import PCA
x=preprocessing.scale(df)
#n_components保留的特征个数,mle为自动选择
pca=PCA(n_components=3)
pca.fit(x)
#返回:各个成分方差百分比即变量的方差贡献率
pca.explained_variance_ratio_

4.3 直方图
用分箱表示数据分布,每个箱子代表一个属性-频率对
与条形图有本质区别

import numpy as np
import matplotlib.pyplot as plt
data=np.random.randint(1,10,50)
#生成直方图,比如1出现5次,则y轴就是5
plt.hist(data)

#基于三个点把区间分成两个,一个是[1,5),另外一个是[5,9]
bins=np.linspace(data.min(),data.max(),3,endpoint=True)
#分成了两个箱子展示
plt.hist(data,bins=bins,rwidth=0.95,edgecolor='k')

4.4 抽样
随机抽样(放回和不放回)、聚类抽样和分层抽样

from sklearn import datasets
import pandas as pd
iris=datasets.load_iris()
iris_df=pd.DataFrame(iris.data)
iris_df.columns=iris.feature_names
#抽样函数,抽样个数、百分比
iris_df.sample(n=10)
iris_df.sample(frac=0.2)
#放回抽样
iris_df.sample(n=15,replace=True)

iris_df['target']=iris.target
#先选择属性为0,然后同随机抽样做法
A=iris_df[iris_df.target==0].sample(frac=0.2)
#先选择属性为2,然后同随机抽样做法
B=iris_df[iris_df.target==2].sample(frac=0.1)
#将A、B结果合并
A.append(B)

参考资料:
https://www.icourse163.org/learn/NJU-1001571005?tid=1463102441&from=study#/learn/content?type=detail&id=1240380190&cid=1261816421&replay=true 用python玩转数据

python数据分析与可视化 Python数据分析主要包括数据清洗、数据探索和数据可视化三个部分。数据清洗是数据分析的重要环节,主要是对数据进行预处理,包括缺失值处理、异常值处理、数据类型转换等。数据探索则是通过对数据进行初步分析,了解数据的分布和特征,为后续的数据分析提供基础。数据可视化则是将数据以图形化的方式呈现,帮助人们更好地理解和分析数据。 阅读详情

相关推荐

数据探索与数据预处理的实验报告

关于数据探索与数据预处理的数据分析入门实验报告,希望对你的学习有所帮助。

xu_yushu的博客 1万+

2022泰迪杯数据分析技能赛B题方案及赛后总结:银行客户忠诚度分析

2022年第五届泰迪杯数据分析技能赛B题『一等奖』方案及赛后总结:银行客户忠诚度分析

u014111377的博客 2万+

如何用python进行数据分析

Python是一个非常强大的数据分析工具,它提供了丰富的库和函数来处理、分析、可视化数据,并在各个领域得到了广泛应用。数据预处理通常是数据分析的第一步,这个过程是为了从原始数据中提取有用的信息以及准备数据用于进一步的分析和建模。数据可视化是Python数据分析的一个重要方面,可以帮助我们更好地理解数据以及数据之间的关系。探索性数据分析(Exploratory Data Analysis, EDA)是数据分析的一个重要环节,这是为发现数据集中更深层结构与规律,包括数据统计描述、数据可视化等。

m0_67963756的博客 3837

第1章-数据探索(1)-数据预处理

简介 在我们了解了业务背景,确定了需求和分析目标以后,我们接下来要面对的,就是数据的探索了。不论数据的形式是直接连到数据库、还是导出的csv、txt、json等格式,当我们把数据加载到我们的分析利器(excel/spss/r/python/matlab)之后,不需要太多时间,我们就能了解到数据的概貌了,比如维度是N * M,以及各个字段的含义等等。 然而,接下来要做的事情,就不是“不需要太多时间”...

tongweiganglp的博客 3756

Python数据分析与可视化概述

数据分析与可视化概述 一、数据、信息与数据分析 数据:是指对客观事件进行记录并可以鉴别的符号,是对客观事物的性质、状态以及相互关系等进行记载的物理符号或这些物理符号的组合。它是可识别的、抽象的符号。 数据是信息的表现形式和载体,可以是符号、文字、数字、语音、图像、视频等 数据聚焦于数据的采集、清理、预处理、分析和挖掘,图形聚焦于解决对光学图像进行接收、提取信息、加工变换、模式识别及存储显示,可视化聚焦于解决将数据转换成图形,并进行交互处理。 信息:是数据的内涵,信息是加载于数据之上,对数据作具有含义的解释

sjjsaaaa的博客 9703

07丨数据探索与数据预处理

比如,对于名为awesome_dataframe的DataFrame 数据集,使用Python代码awesome_dataframe.isnull().sum()可显示每一列的缺失值总数。数据探索的过程并不简单。它涉及识别数据类型、转换数据类型、使用代码系统性提高数据质量为模型做准备的能力。每当接触新数据集时,不论你是否熟悉它,在初次进行分析前回答以下问题都非常有必要。不需要,因为每列的数据都符合定性或定量属性。1.掌握数据探索的方法与技术。第三、四、五、六列定距尺度数据。对含有缺失值的数据进行处理。

AIGC 1062

Python笔记-数据探索和预处理

目的: 通过检验数据集质量、绘制图标、计算某些特征量等手段,对样本数据集的结构和规律进行分析。 有助于选择合适的数据预处理和建模方法。 1、质量分析 目的:检查脏数据。 脏数据定义: 缺失值异常值不一致重复或特殊符号 1.1 缺失值处理: 删除插值不处理 插值方法: 均值/中位数/众数固定值最相似样本回归函数(拉格朗日、牛顿) 1.2

1710

数据分析案例-基于亚马逊智能产品评论的探索性数据分析

数据成为新时代企业不可或缺的资产,不同行业、不同领域的公司都越来越注重数据在公司运营中发挥的作用,从谷歌、亚马逊到阿里、百度、腾讯,都因其拥有大量的用户注册和运营信息,成为天然的大数据公司。显然亚马逊早已开始尝试从数据中发掘价值,长期以来通过大数据分析,尝试定位客户并获取客户反馈,其不仅从每个用户的购买行为中获得信息,还将每个用户在网站上的所有行为都记录下来,充分体现了亚马逊对数据价值的高度敏感和重视及其强大的挖掘能力。

m0_64336780的博客 1万+

Python数据分析与挖掘

Python数据分析与挖掘是一个结合了数据处理、统计分析和机器学习技术的领域,它利用Python语言的强大功能来从大量数据中提取有价值的信息和知识。以下是一些关于Python数据分析与挖掘的详细介绍:### Python数据分析与挖掘的基本概念- **数据分析**:涉及使用统计方法和算法对数据集进行探索和分析,以发现数据中的模式、趋势和关联【1】。 - **数据挖掘**:是数据分析的一个分支,专注于从大型数据集中通过算法和统计模型提取有价值的信息【4】。### Python语言在数据分析与挖掘中的优势- *

2401_84204413的博客 1823

Python数据分析与挖掘实战总结

大数据专业硕士在读,优快云人工智能领域博客专家,阿里云专家博主,专注大数据与人工智能知识分享。🎉。

专注大数据与人工智能技术分享,欢迎私信加群互相学习! 1万+

python数据挖掘实验

python数据挖掘实验,内附有八个实验文档说明。实验一 探索性数据分析演示、实验二 常用概率分布演示、实验三 置信区间和假设检验演示、实验四 线性回归模型演示.................

这十套练习,教你如何用Pandas做数据分析

最新工作比较忙,python这块搁置了好久都没有好好学习以及更新相关学习笔记,立下flag,争取两天更新一个练习题,到十一月初更新完这块内容 练习题下载 数据下载链接数据文件地址 通过上述链接将文件保存在相应的路径下面 习题编号 内容 相应数据集 练习1 - 开始了解你的数据 探索Chipotle快餐数据 chipotle.tsv 练习2 - 数据过滤与排序 探索2012欧洲杯数据 Euro2012_stats.csv 练习3 - 数据分组 探索酒类消费数据 drinks.c.

weixin_43816759的博客 6000

python数据挖掘实验-数据的预处理和探索.docx

python数据挖掘实验-数据的预处理和探索.docxpython数据挖掘实验-数据的预处理和探索.docxpython数据挖掘实验-数据的预处理和探索.docxpython数据挖掘实验-数据的预处理和探索.docxpython数据挖掘实验-数据的预处理和探索.docxpython数据挖掘实验-数据的预处理和探索.docxpython数据挖掘实验-数据的预处理和探索.docxpython数据挖掘实验-数据的预处理和探索.docx

Python数据探索性分析和预处理

除了上面介绍的三种基于分布的方法,还有使用算法基于距离的异常值判定,比如:使用KNN算法,依次计算每个样本点与它最近的K个样本的平均距离,再利用计算的距离与阈值进行比较,如果大于阈值,则认为是异常点。在搜集数据的某些情况下,有些时候并不一定会收集到数据,因而会造成观测值或变量的数据有缺失,这些缺失的数据就称之为缺失值。总之,处理缺失值是需要研究数据规律与缺失情况来进行处理的,复杂的算法不一定有好的效果,因此,还要具体问题具体分析,尤其是要搞明白字段含义以及缺失意义,这往往容易被忽略。...

Itsme_MrJJ的博客 7647

别再死记硬背了!用Wireshark抓包实战,5分钟搞懂GRE、L2TP、IPsec的区别

本文通过Wireshark抓包实战,详细解析GRE、L2TP和IPsec三大隧道协议的核心差异与应用场景。从报文结构到配置示例,帮助网络工程师快速掌握这些协议的本质,提升VPN部署与故障排查能力。特别适合准备HCIP认证的工程师深化理解。

weixin_30352645的博客 439

MATLAB实战:蓝牙GFSK调制解调全流程解析(附误码率优化技巧)

本文深入解析了蓝牙GFSK调制解调在MATLAB中的全流程实现,包括高斯滤波器设计、调制解调技术及误码率优化技巧。通过实战案例和代码示例,帮助工程师提升蓝牙通信系统的性能表现,特别是在降低误码率方面的有效方法。

weixin_29046035的博客 277

Python数据分析与可视化(1)——Python数据分析与可视化

1、大数据分析框架结构 2、数据、信息与数据分析 数据:是指对客观事件进行记录并可以鉴别的符号,是对客观事物的性质、状态以及相互关系等进行记载的物理符号或这些物理符号的组合。它是可识别的、抽象的符号。 数据是信息的表现形式和载体,可以是符号、文字、数字、语音、图像、视频等。 数据聚焦于数据的采集、清理、预处理、分析和挖掘,图形聚焦于解决对光学图像进行接收、提取信息、加工变换、模式识别及存储显示,可视化聚焦于解决将数据转换成图形,并进行交互处理。 信息:是数据的内涵,信息是加载于数据之上,对数据作具有含义的

零陵上将军_xdr的博客 7万+

保姆级QFIL线刷教程:从驱动安装到成功刷机的完整避坑指南(Win10/11实测)

本文提供了一份详细的QFIL线刷教程,涵盖从驱动安装到成功刷机的完整流程,特别针对Win10/11系统进行了实测。文章重点解决了EDL模式下的常见问题,如Download Fail和COM Port识别错误,并提供了实用的避坑技巧和故障排除方案,帮助用户实现零失误操作。

weixin_29245767的博客 763

用Python进行数据分析:从数据预处理到模型评估

文内将带您了解如何使用Python进行数据分析,涵盖数据预处理、探索性数据分析(EDA)、特征工程、模型构建与评估等方面,帮助您快速入门并深入理解这一领域的核心概念和技术。

2301_78217634的博客 1467

SOME/IP协议详解「1.1·面向服务与面向信号」

面向信号和面向服务的区别,和举例子

雪云飞星的博客 5654

利用 SAP Joule 提升 ABAP 开发效率的前提条件与限制全解析

综上,想要在 ABAP Development Tools 中顺利使用 SAP Joule,既要准备好 BTP、IAS、ABAP 系统与 ADT 的版本与信任链,也要理解许可证、配额、语法范围等限制。只有在这些前提全部满足后,Joule 才能真正发挥生成式 AI 的价值,帮助 ABAP 开发者从繁琐模板中解放出来,把注意力投入在业务创新与 Clean Core 改造之上。未来 SAP 还将扩展中文语境、自动修复建议以及跨系统智能代理等功能,值得持续关注。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 662

【Python数据分析】1st-数据探索与数据预处理

《Python数据分析与挖掘实战》读书笔记之数据探索与数据预处理 一数据探索 数据分析内容 异常值检测代码 贡献度分析代码菜品盈利帕累托图代码 二数据预处理 数据预处理内容 数据清洗代码拉格朗日法进行插补 数据离散化代码 一、数据探索 Python中用于数据探索的库主要是Pandas(数据分析)和Matplotlib(数据可视化) 数据分析内容 数据

sj的博客 3974

解决宿主机Ping不通虚拟机的问题

在使用虚拟机的过程中,我们常常会遇到宿主机和虚拟机之间无法相互通信的问题。具体来说,我们要查看虚拟机和宿主机的 IP 地址,然后尝试进行 Ping 测试。在某些情况下,我们可能发现 Ping 虚拟机不通,接下来我将分享如何解决这个问题。

howard2005的专栏 7万+
上一篇: 数据分析系列 之python中数据的可视化
下一篇: 数据分析系列 之python中数据统计与分析
琅晓琳
博客等级 码龄10年 26粉丝 104原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值