pandas基础学习(1)

1.介绍

pandas是常用的数据分析库,用于处理表格型或者异质性数据,主要有两种数据类型:Series和DataFrame。

本文采用的是Jupyter notebook , 导入库语句:import pandas as pd

Series是一维数据型对象,粗略的理解,有一点似于C语言中的数组值values+可重新命名的index,即索引,可以认为是一个长度固定的字典。是DataFrame的组成部分。

DataFrame是二维结构,是一张表,有两条轴,axis=0(index行)与 axis=1(columns列) 。与R语言的数据框类似,每一个列(属性列)数据类型可不同,分析的范围较广。

2.创建

Series的创建比较简单,可将列表类型、字典类型直接转换,或者调用numpy中的arange生成。

DataFrame的创建常用是用字典类型,键转换为columns,或者调用numpy.arange.reshape()生成数据,在创建时可创建列名的列表,调用columns进行赋值。

二者共同之处在于,index是否重命名,默认为从0开始,步长为1的递增数列。

例如:

pandas基础学习(1)

 另:在创建过程中可能会出现数据缺失(NA),可用isnull或者notnull来进行检测,返回值为True或False。

3.DataFrame基本操作

(1)查:

列查找:

方式1::‘索引’,即用 [] 调用索引和列名直接检索。

pandas基础学习(1)

 pandas基础学习(1)

若对行也有要求:

pandas基础学习(1)

 特别说明:Series切片包含尾部!与列表切片不同!

方式2:条件(如=、!=)布尔值进行过滤的检索

 pandas基础学习(1)

 行查找:

调用函数:loc(轴标签 即名称)和iloc函数(整数标签 即序列号)进行选取。

pandas基础学习(1)

 南京序列号为2,则用iloc同样可以检索到:

pandas基础学习(1)

(2)删:

方式1:运用python的关键字 del。

删去一个属性列

pandas基础学习(1)

 特别说明:从DataFrame选取的列是数据的视图,对Series的操作会反映到DataFrame中。

方式2:运用drop函数

说明:

a.默认是删除索引行,若要删除列,则需设置参数axis=1。

b.默认返回的是新对象,原数据没有发生更改。

c.设置inplace=True ,修改的是原数据。

pandas基础学习(1)

 

(3)改:

方法一:(此为原DataFrame被更改)

列的引用是可以修改的。

pandas基础学习(1)

一旦索引对象确定,是不可变的,用户不可以进行修改。

方法二:reindex方法,利用index进行重新行排序,列可以用columns关键字,若数据缺失可选择填充。

例1:

pandas基础学习(1)

例2:

pandas基础学习(1)

 特别注意:此时的原data并没有发生改变。