目录
使用ipython演示
import pandas as pd
import numpy as np
创建pandas对象
创建序列
Series在pandas里面是一个序列
s=pd.Series([1,3,5,np.NaN,8,4]) NaN :空值
创建一个日期序列
dates=pd.date_range('20160301',periods=6) 包括起始日期20160301,一共6个日期
创建二维数组
方法1:data=pd.DataFrame(np.random.randn(6,4),index=dates,columns=list('ABCD')) 创建一个6行4列的随机数组,索引的行是上面设置的dates,列是ABCD
得出数组:
方法2:
d={'A':1,'B':pd.Timestamp('20130301'),'C':range(4),'D':np.arange(4)}
df=pd.DataFrame(d)
查看数据
df.dtypes 访问所有列的数据类型
df.A 访问A列的值
data.head() 默认访问前五行数据,括号内输入数字可以决定访问前几行
data.tail() 访问后面几行
data.index 行标签
data.columns 列标签
data.values 访问值
data.describe() 看到数组的一些特征,比如平均值最大值最小值方差
data.T 转置
data.shape 行数列数
data.sort_index(axis=1) 按列标签排序,升序
data.sort_index(axis=1,ascending=False) 降序
data.sort_values(by='A') 按A列排序
选择数据
data.A 或者data['A'] 选取A列
data[2:4] 选取2到4行
data['20160302':'20160305'] 按行标签选
data.loc['20160302':'20160305'] 相比较上面而言效率高,因为loc只识别行或者列标签 data.loc[2:4] 报错
data.iloc[2:4] 可以,只能识别内置标签,不识别行列
data.loc['20160302':'20160305',[