通常这样导入依赖包
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
创建对象
可以参考官方文档 http://pandas.pydata.org/pandas-docs/version/0.19.2/10min.html
通过传入一个列表建一个序列,默认索引为整数
>>> s = pd.Series([1, 2, 3, np.nan, 5, 6])
>>> s
0 1.0
1 2.0
2 3.0
3 NaN
4 5.0
5 6.0
dtype: float64
其中:NAN(NOt a Number) 表示不存在
- 通过numpy创建一个数组,并且用datetime作为索引和标记列名,创建一个DataFrame

其中pd.date_range('20130101', periods=6)
创建了一个时间序列,periods=6
表示有6个值,freq='D'
表时时间序列按天跨度,也可以指定为w(周)
、M(月)
等。df = pd.DataFrame(np.random.randn(6,4), index=dates, columns=list('ABCD'))
创建了一个DataFrame
,第一个参数表示要填充的数据,第二个参数表示行索引,第三个参数表示列标签,它们的大小要匹配。
- 使用一个可以转换成类序列的字典对象创建一个DataFrame

其中字典的每个key作为列标签,该key对应的value为该列的数据,行索引默认创建
查看数据
head()和tail()
可以使用head()
和tail()
查看一个DataFrame
和Series
对象的数据,head()
表示从头查起,tail()
表示从尾部,默认只查看五项元素,可以自定义。
Series对象:

DataFrame对象:

显示索引、行标和数据
分别使用index、columns
和values
属性访问

desctibe()
快速显示数据的汇总统计

转置

通过坐标轴排序

其中的
sort_index()
表示对行索引或者列标签进行排序,
axis=1
表示对行标签进行排序,
axis=0
表示对列索引进行排序,
ascending=False
表示按降序排列
通过数据排序

sort_values()
表示对数据进行排序,
by='B'
表示按照列标签的B进行排序,该关键字不可以传入列索引。
选择
虽然通过标准的python表达方法可以选取和设置元素,但是建议使用pandas的数据获取方式,即使用.at, .iat, .loc, .iloc
和 .ix
方法。
选取单行
选取单行数据,该方法得到一个Series
,可以等价于使用df.A

通过[ ]选择
该方式将数据表进行按列切片,可以选择按列索引和列序号的方式切

通过标签选择
- 使用
.loc
获得交叉部分的数据

>>> df.loc[dates[0]:dates[3],'A']
2013-01-01 -1.863928
2013-01-02 2.693466
2013-01-03 0.271626
2013-01-04 2.202905
Freq: D, Name: A, dtype: float64
其中datas就表示表中的数据,[0]表示按行取,也可以通过加列标签取出部分数据,如下:

>>> df.loc[dates[0],['A', 'B']]
A -1.863928
B 0.227029
- 通过标签选取多轴数据

其中
loc[ ]
的内容可用
,
分割开,第一部分
:
表示全部的行,第二部分
['A','B']
表示选取
A
和
B
两列,第一部分还可以指定为部分行,采用行索引即可,如下:

通过位置选择
- 通过传入的整数表示的位置选择(按行选择)

- 通过整数切片选择(左行右列原则)


也可以通过传入了两个list来选定行和列,按照传入的整数选取,同样是左行右列原则:

- 获取确定的位置的值

布尔索引
使用单行的值去选择数据

选取A标签列大于0的所有数据
使用isin()过滤数据

df2['E'].isin(['two','four'])
表示在
E
标签的列中选出有
two
和
four
的所有数据
缺失值
pandas主要使用np.nan代表缺失的值
丢掉任何有缺失值的行和列

填充缺失值

使用布尔值表示数据是否是nan

运算
统计
统计在大多数情况下不包含缺失值
默认对列进行求均值

传入参数1时表示对行求平均

应用
将函数应用于数据

合并
concat()
使用concat()
将pandas对象连接在一起

分组
本次使用的数据df:

- 使用groupby()分组,然后对结果应用一个sum()函数

- 按多个列进行分组形成分层索引,然后应用函数

时间序列
-
rng = pd.date_range('1/1/2012', periods=100, freq='S')
其中freq='S'
表示每个元素的跨度为秒
rng = pd.date_range('3/6/2012 00:00', periods=5, freq='D')

绘画
- 针对一个Series对象,调用
cumsum()
方法和plot()
方法即可
- 针对DateFrame对象,
plot()
函数会对每个列标签表示的数据调用plot()


存取数据
CVS文件
- 写入一个CVS文件

- 从CVS文件读取数据

Excel文件
- 写入excel文件

- 从excel文件读取数据

附:
以上均来自官方文档
如有错误,欢迎指正,谢谢!