数据分析之pandas入门

一、数据结构

1. Series

1.1 序列构造和调用

  Series是一种类似于一维数组的对象,它由一组数据和索引共同组成,可以通过索引的方式来选取Series中的单个或一组值,常用的构造函数为obj2=Series([4,7,-3,3], index=['d','b','a','c'])

  对于index而言,默认参数可以不写,可以缺省,若缺省则使用默认的索引从0:N-1

  字典<——>Series:可以通过Series函数直接将字典转换成Series(Series(dict))

1.2 自动对齐

  Series在计算的过程中能够自动对齐不同索引的数据进行计算。

1.3 属性

  index,value,name

  通过obj2.index和obj2.value的属性方法进行调用和赋值进行修改,同时可以通过具体的索引值获取数据obj2['a']

  对于name属性而言,Series本身以及其索引都具备name属性。obj2.name= 和 obj2.index.name= 进行赋值和调用。

2.DataFrame

2.1 数据构建调用

  DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以有不同的数值类型,同时具备行索引和列索引。

  最常用的构建方法是传入等长数列或者Numpy数组组成的字典:

  DataFrame(data,columns,index)通过columns来交换列的顺序,通过index来设置行索引

  可以通过frame.state 或者frame['pop']来获取列,列获取类型为Series,同时name存在。

  创建新列:为不存在的列赋值,就能创建新的列

  删除列:del frame['year']

2.2 赋值及操作

  可以多整列操作赋值相同值,如借助frame['pop'] = 1.5。或者借助Series进行赋值操作,这样的赋值将准确匹配DataFrame的索引。

  创建新列:为不存在的列赋值,就能创建新的列  

  删除列:del frame['year']

1.3 属性

  index,columns,value,name

  通过obj2.index和obj2.value的属性方法进行调用和赋值进行修改,同时可以通过具体的索引值获取数据obj2['a']

  对于name属性而言,Series本身以及其索引都具备name属性。frame.columns.name= 和 frame.index.name= 进行赋值和调用。

  对于value这一方法而言,能去除行索引和列索引得到一个二维数组。

二、基本功能

1.1 重新索引(重新排序)

  对于Series而言,会根据新的索引对原先的顺序安好新的索引进行排序。obj.reindex(['a','b']).

  对于reindex可能需要特殊的插值处理,因此利用method可以达到该目的。obj3 = Series([range(6), method='ffill']). 列出了可用的method选项:ffill或pad前向填充值,bfill或backfill后向填充。

1.1 丢弃指定轴上的项

  1.drop的操作后原数据并不发生变化。axis =1表示列索引。行索引为axis=1可省略。

 索引、选取和过滤

  利用标签的切片运算与普通的Python切片运算不同,其末端是包含的。

  上述实现是通过切片或者布尔数组进行取行。

  data.ix['Colorado',['two','three']]

  通过ix进行调用,最后获得一个Series。

posted @ 2016-09-08 14:32  二十又七  阅读(306)  评论(0编辑  收藏  举报