基本信息查看
关键技术:使用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()方法。