【文档说明】Python机器学习-Python-机器学习-Pandas课件.pptx,共(18)页,99.428 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-2403.html
以下为本文档部分文字说明:
第4章Pandas•Pandas工具包是在Numpy工具包上的进一步封装,它提供了更丰富的数据处理方法。相较于Numpy,Pandas更适合做数据的预处理。而Numpy则更适合做数据的运算。所以拿到数据后
一般都使用Pandas做处理,而实现算法模型则使用Numpy。4.1序列对象Series•Series对象类似于numpy中的一维数组。接下来的章节里主要介绍了在数理统计中的应用,其实series更强大的功能是对字符串以及时间序列的处理,而这些因为和本书的写作目标不符,故没有详细讲解,有兴趣的
读者可以参考官方文档学习。4.1.1创建Series对象•Pandas中最基础的对象是Series,可以通过list以及可迭代对象range创建,也可以通过numpy中的array对象创建。4.1.2Series索引•Series的索引方法有以下三种。•第
一种,与list和numpy中的一维数组的方法不相同,形式相同。但需要注意的是此时的值不是numpy中对应概念的下标,而是pandas中的索引值,所以不能出现负数。•第二种方法,与list和numpy中的一维数组
的方法不相同,形式也不同,要使用.loc,同样也不能出现负数。•第三种方法,与list和numpy中的一维数组的方法相同,形式不同,要使用.iloc,可以出现负数。4.1.3查看Series相关属性•查看series的相关属
性,可以查看或更改该序列元素的类型以及索引。•In[1]:importpandasaspd•In[2]:a=pd.Series([0,1,2,3,4,5])•.index属性可以查看series对象的索引,同样也可以直接赋值更改。我们使用.loc和.iloc
对索引修改前后做同样的处理,体会一下loc和iloc的区别,代码如下:•In[3]:a.index•Out[3]:RangeIndex(start=0,stop=6,step=1)•In[4]:a.loc[1]•Out[4]:1•In[5
]:a.iloc[1]•Out[5]:14.1.4二元运算•series的二元运算和numpy中一元数组的运算相似。4.1.5统计方法•series中提供了常用的统计方法。除了Numpy中已有的方法外,还增加了一些
比较边界的方法,比如describe方法可以一次性返回多个统计值。4.1.6缺失值处理•在我们遇到的一些数据中会有缺失值的情况,我们会将这些缺失值删除或者插入其他值替代。series对象提供了相应的方法。4.1.7排序•series提供
了若干排序的方法。argsort方法是给出了排序的索引,rank方法直接给出了顺序,而sort_values和sort_index则分别是按值和索引排序。4.1.8计数与重复•在进行数据处理过程中,我们常常需要对数据中的数字进行计数,查看哪些数字出现的频次比较高
。获得对于重复数据进行删减。4.1.9其他•series还包含了其他一些方法。比如查看部分数据的head和tail,取样方法sample,条件筛选where和mask,以及判断是否在另一个序列中的isin方法。4.2DataFrame•Pan
gdas中的数据框对象DataFrame可以看作是Series对象的集合,他们共用同一个索引。所以DataFrame具有Series的相应方法,这里不再赘述,可参考4.1小节的内容。本小节主要根据具体的操作对DataFrame对象进行讲解。4.2.1
创建数据框•一般有两种方式创建数据框,一是通过字典,而是通过列表。二者皆可获得相同的结果。4.2.2行操作•Pandas的数据框可以看成是Numpy中的二维数组。行操作可以利弊Numpy的二维数组的方法,特别要注意的是loc和
iloc的区别。4.2.3列操作•特别要注意的是在列的交换列的方法要使用.values来获取数值,否则会失败。4.3GroupBy•分组统计是一个比较常见的操作,我们需要对不同类别的数据分别进行观察。比如在一个班级中,我们想要获得男
生的最大年龄和女生最大的年龄,这个时候我们就需要先按性别进行分组,然后分别统计最大的年龄。4.3.1基本函数•基本函数可以用来查看分组的具体信息。4.3.2统计函数•分组的最主要的作用就是对各个组别进行分组描述
。这里返回的是对各个组别的统计的结果。