Pandas简介
Pandas是一个强大的分析结构化数据的工具集;它的使用基础是Numpy(提供高性能的矩阵运算);用于数据挖掘和数据分析,同时也提供数据清洗功能。
pandas大致分为三种数据结构:一维的Series、二维的DataFrame、以及三维的Panel。
本篇博客主要讲Series和DataFrame的基本用法。
Series
它是一种类似于一维数组的对象,是由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成。仅由一组数据也可产生简单的Series对象。
-
创建
s = pd.Series([1,2,3]) t = pd.Series((1,2,3)) # 加索引的series i = pd.Series([1,2,3], index=['a','b','c']) In [1]: s Out[1]: 0 1 1 2 2 3 dtype: int64 In [2]: t Out[2]: 0 1 1 2 2 3 dtype: int64 In [3]: i Out[3]: a 1 b 2 c 3 dtype: int64
可以通过列表和数组直接创建Series,默认的索引(index)是从0开始的整数序列,我们也可以在创建的时候通过index参数指定索引数据。
-
索引
In [4]: i Out[4]: a 1 b 2 c 3 dtype: int64 In [5]: i['a'] Out[5]: 1 In [6]: i[0] Out[6]: 1 In [7]: i[0:2] Out[7]: a 1 b 2 dtype: int64
-
数据转换
i.to_string(): 转化为字符串
i.to_dict(): 转化为字典
i.tolist(): 转化为列表
i.to_json(): 转化为JSON
i.to_frame(): 转化为DataFrame
i.to_csv(): 存储为CSV文件格式
DataFrame
DataFrame是Pandas中的一个表格型的数据结构,包含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型等),DataFrame即有行索引也有列索引,可以被看做是由Series组成的字典。
- 创建
除了从CSV等文件直接读取为DataFrame外,还可以通过字典的方式创建DataFramed = {'1':[1,2,3],'2':[3,5,3],'3':[3,5,2]} df = pd.DataFrame(d) In [8]: df Out[8]: 1 2 3 0 1 3 3 1 2 5 5 2 3 3 2
- 行列索引
1、对行索引
2、对列索引In [9]: df.ix[0] Out[9]: a 1 b 3 c 3 Name: 0, dtype: int64
In [10]: df.['3'] Out[10]: 0 3 1 5 2 2 Name: 3, dtype: int64
- 数据转换
与Series的数据转换方法一致,但是这里少了tolist,因为二维数据是不能直接转化为一维数据的。此外DataFrame添加了to_latex和to_excel等方法。