概述
8 pandas
pandas包含高级的数据结构和精巧的工具,使得在Python中处理数据非常快速和简单。pandas建造在NumPy之上,它使得以NumPy为中心的应用很容易使用。首先导入库:
pandas主要包含三种数据结构:Series、DataFrame和Panel。
8.1 Series
Series是一个一维的类似的数组对象,包含一个数组的数据(任何NumPy的数据类型)和一个与数组关联的数据标签,被叫做索引。
8.1.1 Series创建
首先创建一个Series:
上例中左右两列即分别为索引index 和 values。因为传给构造器的是一个列表,所以 index 的值是从 0 起递增的整数,如果传入的是一个类字典的键值对结构,就会生成 index-value 对应的 Series;或者在初始化的时候以关键字参数显式指定一个 index 对象:
Series 对象的元素会严格依照给出的 index 构建,这意味着:如果 data 参数是有键值对的,那么只有 index 中含有的键会被使用。另外,Series 对象和它的 index 都含有一个name属性:
8.1.2 索引和切片
与numpy类似,pandas也支持通过索引和切片,以及通过布尔型数组进行过滤。因为pandas对象的index不限于整数,pandas也可以使用非整数作为切片索引,不过须要注意,此时它是末端包含的。例如:
8.1.3 重新索引
Series对象的重新索引通过其reindex(index=None, kwargs)方法实现。kwargs中有两个常用的参数:method=None和fill_value=np.NaN:
method: {"backfill", "bfill", "pad", "ffill", None}参数用于指定插值(填充)方式(ffill=pad,bfill=backfill,分别指插值时向前还是向后取值),当没有给出时,自动用fill_value填充,默认为 NaN:
在使用method的时候,原序列和新序列的index 必须都是单调的,上述index=["stockA", "stockC", "stockB"]无法使用method,若需使用,索引需改为:
8.1.4 算数运算
pandas可以对不同索引的对象进行算术运算。在将对象相加时,结果的索引取索引对的并集。自动的数据对齐在不重叠的索引处引入空值,默认为 NaN:
当不希望在运算结果中出现NaN值时,可以类似reindex方法使用fill_value参数,不过为了传递这个参数,就需要使用对象的方法(包括add、sub、div和mul),而不是操作符:
8.1.5 排序和排名
sort_values(ascending=True, na_position="last")方法可以对 index 进行排序操作,ascending参数用于控制升序或降序,na_position可选择NaN在排序后出现的位置,可选"first"或"last":
rank(method="average", ascending=True)方法的作用与排序的不同之处在于,他会把对象的values替换成名次(从1到n)。method参数用来选择如何处理平级项,有四个值可选:average(平均名次)、min(最小名次)、max(最大名次)和first(index在前者排名高):
最后
以上就是激昂小刺猬为你收集整理的python3pandas教程_Python 3 基础教程 - 8:pandas(一)的全部内容,希望文章能够帮你解决python3pandas教程_Python 3 基础教程 - 8:pandas(一)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复