pandas库简介
收藏
Pandas 是基于Numpy开发的一个Python数据分析包,由AQR Capital Management于2008年4月开发,并于2009年底开源出来。 Pandas作为Python数据分析的核心包,提供了大量的数据分析函数,包括数据处理、数据抽取、数据集成、数据计算等基本的数据分析手段。Pandas核心数据结构包括序列和数据框,序列储存一维数据,而数据框则可以存储更复杂的多维数据。这里主要介绍二维数据(类似于数据表)及其相关操作。 由于Python是面向对象的语言,序列和数据框本身是一种数据对象,因此序列和数据框有时也称为序列对象和数据框对象,它们具有自身的属性和方法。本部分我们主要介绍序列和数据框的创建、相关属性介绍和主要方法的使用,以及数据的访问、切片及运算。在数据读取方面,我们主要介绍了利用Pandas库中的函数读取外部数据文件的方法,包括Excel数据文件和TXT数据文件的读取方法。在函数计算方面,我们主要介绍了几个滚动计算函数,包括移动平均值、移动最大最小值、移动求和等计算。
1
收藏
在Anaconda发行版中,Pandas包已经集成在系统中,无需另外安装。在使用过程中直接导入该包即可,导入方法为import pandas as pd,其中import和as为关键词,pd为其简称。
序列是Pandas中非常重要的一个数据结构,由两部分组成,一部分是索引index,一部分是对应的值。序列不仅能实现一维数组的功能,还增加了丰富的数据操作与处理功能。我将分别介绍序列的创建、序列的属性和方法,以及数据切片和聚合运算等相关的数据操纵知识。
序列由索引index和对应的值构成,默认情况下索引从0开始从小到大顺序排列,每个索引对应一个值。可以通过指定列表、元组、数组创建默认序列,也可以通过指定索引创建个性化序列。还可以通过字典来创建序列,其中字典的键转化为索引,值即为序列的值。序列对象的创建通过Pandas包中的Series()函数来实现。
序列有两个属性,分别为值(values)和索引(index)。通过序列中的values属性和index属性可以获取其内容。
通过序列中的unique()方法,可以去掉序列中重复的元素值,达到元素值的唯一性。
通过isin()方法,判断元素值的存在性,如果存在则返回True,否则为False。
通过序列中的value_counts()方法,可以统计获得序列元素值出现的次数。
序列中处理空值的方法有三个isnull()、notnull()、dropan()。它们的使用方法如下:isnull()判断序列中是否有空值(nan值),如果有空值,返回True,否则False; notnull()判断序列中的非空值(nan值),如果真,返回True,否则False,与isnull方法刚好相反;dropan()清洗序列中的空值(nan值)。可以配合使用空值处理函数,实现对空值(nan值)的清洗。
序列元素的访问是通过索引完成的,切片即连续或者间断地批量获取序列中的元素,可以通过给定一组索引来实现切片访问。一般地,给定的一组索引可以用列表或者逻辑数组来表示。
序列的聚合运算,主要包括对序列中的元素求和、平均值、最大值、最小值、方差、标准差等。
Pandas中另一个重要的数据对象为数据框(DataFram),由多个序列按照相同的index组织在一起形成一个二维表。事实上,数据框的每一列为序列。数据框的属性包括index、列名和值。由于数据框是更为广泛的一种数据组织形式,许多外部数据文件读取到Python中大部分会采用数据框的形式进行存取,比如数据库、excel和TXT文本。同时数据框也提供了极为丰富的方法用于处理数据及完成计算任务。数据框是Python完成数据处理及分析的最重要数据结构之一,因此学会灵活运用数据框是利用Python进行数据处理及挖掘的关键环节。
基于字典,利用Pandas库中的DataFrame函数,可以创建数据框。其中字典的键转化为列名,字典的值转化为列值,而索引为默认值,即从0开始从小到大排列。
数据框对象具有三个属性,分别为列名、索引和值
数据框(DataFrame)作为数据处理及挖掘分析的重要基础数据结构,提供了非常丰富的方法用于数据处理及计算。下面介绍其常用的方法,包括去掉空值(nan值)、对空值(nan值)进行填充、基于字段列值进行排序、基于index进行排序、取前N行数据、删除列、数据框之间的连接、数据框转化为Numpy数组、数据导出到Excel、相关统计分析等。
通过dorpna()方法,可以去掉数据集中的空值(nan值),需要注意的是原来数据集不发生改变,新数据集需要重新定义。
通过fillna()方法,可以对数据框中的空值(nan值)进行填充。默认情况下所有空值填充同一个元素值(数值或者字符串),也可以指定不同的列填充不同的值。
感谢整理,分享。
感谢分享
还有90%的pandas干货没发布,等后面有时间我就开个notebook
嘻嘻,一起努力