数据分析之数据预处理

基本信息查看

关键技术:使用info()方法查看数据基本类型。

在该例中,首先使用pandas库中的read_csv方法导入sales.csv文件,然后使用info()方法,查看数据的基本信息,代码及输出结果如下:

查看数据表的大小

【例】请利用python查看上例中sales.csv文件中的数据表的大小,要求返回数据表中行的个数和列的个数。

关键技术:使用pandas库中DataFrame对象的shape()方法。

、数据格式的查看

【例】请利用Python分别生成10行3列的DataFrame类型数据df和数组型数据arr,并且要求df和arr数值的取值范围在6~10之间,df的列名为a,b,c。最后返回df和arr的数据类型。

关键技术:type()方法。

dtype属性和dtypes属性

在上例代码的基础上,对于series数据可以用dtype查看,对于dataframe数据可以用dtypes查看,程序代码如下所示:

、缺失值检查

关键技术:isnull()方法。isnull()函数返回值为布尔值,如果数据存在缺失值,返回True;否则,返回False。

缺失值删除

关键技术:dropna()方法。dropna()方法用于删除含有缺失值的行。

describe()函数。在做数据分析时,常常需要了解数据元素的特征,describe()函数可以用于描述数据统计量特征,其返回值count表示、mean表示数据的平均值、std表示数据的标准差、min表示数据的最小值、max表示数据的最大值、25%、50%、75%分别表示数据的一分位、二分位、三分位数。

某行或某列值都为NaN时,才删除整行或整列。这种情况该如何处理?

关键技术:dropna()方法的how参数。Axis=0表示纵轴,=1是横轴,删除行体现0轴变化

当某行有一个数据为NaN时,就删除整行和当某列有一个数据为NaN时,就删除整列。遇到这两周种情况,该如何处理?

关键技术:dropna()方法的how参数dropna(how=‘any’)。

缺失值替换/填充

对于数据中缺失值的处理,除了进行删除操作外,还可以进行替换和填充操作,如均值填补法,近邻填补法,插值填补法,等等。本小节介绍填充缺失值的fillna()方法。

3、缺失值替换/填充

【例】在df数据中,利用各列值的均值填补缺失数据,该如何用Python实现?

关键技术:df.fillna()方法。

在该案例中,将df数据中的各列值的均值作为参数,进行数据填充

近邻填补法,即利用缺失值最近邻居的值来填补数据,对df数据中的缺失值进行填补,这种情况该如何实现?

关键技术:fillna()方法中的method参数。

在本案例中,可以将fillna()方法的method参数设置为bfill,来使用缺失值后面(下边)的数据进行填充。代码及运行结果如下:

本案例可以将fillna()方法的method参数设置设置为ffill,来使用缺失值前面(一列的前边,也就是上边)的值进行填充。代码及运行结果如下:

请利用二次多项式插值法对df数据中item2列的缺失值进行填充。

关键技术: interpolate方法及其order参数。

在该案例中,将interpolate方法中的参数order设置为2即可满足要求。具体代码及运行结果如下:

请使用Python完成对df数据中item2列的三次样条插值填充。

关键技术:三次样条插值,即利用一个三次多项式来逼近原目标函数,然后求解该三次多项式的极小点来作为原目标函数的近似极小点。

在该案例中,将interpolate方法的method参数设置为spline,将order参数设置为3。具体代码及运行结果如下

发现重复值

【例】请使用Python检查df数据中的重复值。

关键技术:duplicated方法。

利用duplicated()方法检测冗余的行或列,默认是判断全部列中的值是否全部重复,并返回布尔类型的结果。对于完全没有重复的行,返回值为False。对于有重复值的行,第一次出现重复的那一行返回False,其余的返回True。

利用Python对重复数据进行删除。

关键技术:drop_duplicates()方法。

利用duplicates()方法去除冗余数据,即删除冗余的所有行,默认是判断全部列,程序代码及运行结果如下:

检测异常值

关键技术:query方法和boxplot(箱图)方法。

在该案例中,首先使用pandas库中的query方法查询数据中是否有异常值。然后通过boxplot方法检测异常值。

. 箱图含义

箱图是一中用于统计数据分布的统计图,也可以粗略地看出数据是否具有对称性,分布的分散程度等信息。箱图中的信息含义如下:

最下方的横线表示最小值

最上方的横线表示最大值

黑色空心圆圈表示异常值

黑色实心圆圈表示极端值

箱子由下四分位数、中值以及上四分位数组成

异常值又称离群值,指大于1.5倍的四分位数间距的值。处于1.5倍~3倍四分位数间距的值用空心圆圈表示。极端值属于异常值中的一种。

极端值是指大于3倍的四分位数间距的值。

1)最常用的方式是删除。drop()方法。

利用drop()方法,对work.csv文件中的异常值进行删除操作,

(2)将异常值当缺失值处理,以某个值填充。

(3)将异常值当特殊情况进行分析,研究异常值出现的原因

drop()方法的参数说明如下:

labels:表示行标签或列标签。

axis:axis=0,表示按行删除,axis=1,表示按列删除。默认值为0。

index:删除行,默认为None。

columns:删除列,默认为None。

inplace:可选参数,对原数组作出修改并返回一个新数组。默认是False,如果为True,那么原数组直接被替换。

数据类型转换

1、数据类型检查

【例】利用numpy库的arange函数创建一维整数数组,并查看数据类型。

关键技术:dtype属性。

利用numpy库的arange函数创建一维浮点数数组arr1,然后将arr1数组的数据类型转换为整型。

关键技术:astype函数

Pandas库中索引的作用如下:

(1)更方便地查询数据。

(2)使用索引可以提升查询性能。

更改索引

【例】某公司销售数据集“work.csv”内容如下,请设定日期为索引,并用Python实现。

关键技术:set_index()函数,可以指定某一字段为索引。

在该案例中,除了可以用set_index方法重置索引外,还可以在导入csv文件的过程中,设置index_col参数重置索引,代码及结果如下:

重命名索引

以设置reindex()方法中的method参数,method参数表示重新设置索引时,选择对缺失数据插值的方法。可以设置为None、bfill(向后填充)、ffill(向前填充)等。

:reindex()方法中的index参数和columns参数。

lower()方法,将字符串中的所有大写字母转换为小写字母。也可以使用upper()方法,将字符串中的所有小写字母转换为大写字母。

按列增加数据

关键技术:insert()方法。

按行增加数据

关键技术:loc()方法和append()方法。

,请利用Python将第三行数据替换为[10,20,30]。

关键技术:loc()方法和iloc()方法。

数据预处理、建模和可视化是数据分析过程中非常重要的环节,这些环节的成功与否直接影响到数据分析的结果与价值。作为CSDN数据分析的三大关键步骤,数据预处理、建模和可视化的作用是多方面的。 首先,数据预处理的目的是对原始数据进行清洗、处理和转换,以便更好地进行后续数据分析数据预处理有很多种方法,如数据清洗、缺失值填充、异常值处理、数据集成、数据降维等。只有在预处理阶段对数据进行充分准确的处理,才能保证后续的建模和可视化的准确性。 其次,建模是数据分析的核心步骤,是通过数据分析来建立模型的过程,目标是对数据进行预测和决策。建模过程包括选择建模方法,配置模型参数,模型训练和模型评估等步骤。建模需要根据实际问题选择合适的建模方法,并进行适量的特征工程和模型调参,以获得最优的预测和决策效果。 最后,可视化是数据分析结果的展示方式,旨在将结果呈现给用户,在数据探索和决策时加强用户的感性理解。可视化可以采用多种图表形式,例如柱状图、折线图、散点图等,也可以通过交互式可视化系统进行交互操作表示。通过可视化,数据分析器可以更直观地理解数据分析的结果,为后续的分析和决策提供有力支持。 综上所述,CSDN数据分析中的数据预处理、建模和可视化是相互依存、相辅相成的环节,只有将它们表现得尽善尽美,我们才能解决实际问题,提高数据因信而产生的价值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值