05.组建dataframe
1.组建方法——pd.DataFrame
pd.DataFrame(data=None, index=None, columns=None)
data= 数据
index= 索引,即行名、行表头
columns= 列名、列表头
使用前要执行前面的import
pandas as pd
2.用字典型数据组建——pd.DataFrame
方法基本同上,因为字典型自带一个标签,所以就不用写列名了。
3.简便地获得聚宽数据中的时间索引
有时建立一个dataframe时,为了和平台数据保持一致,需要使用相同的时间行索引,但时间数据操作复杂,而且涉及到节假日、非交易日等问题,直接建立比较困难,这里介绍一种简单的方法,快速获得跟平台数据一致的时间索引。原理就是直接把平台数据的时间索引拿出来。例子如下:
06.dataframe的缺失值处理
1.去掉缺失值——df.dropna
df.dropna(axis=0, how='any', thresh=None, subset=None,
inplace=False)
axis= 0 按行检查缺失;1 按列检查缺失。不写默认为0
how= 'any' 有一个缺失值就算缺失;'all'
行或列(根据axis参数)全缺失才算缺失。不写默认为'any'
thresh=
x,x为一个整数,含义为行或列(根据axis参数)中非缺失数值个数大于等于x则不算缺失,即小于x则算缺失,会被去除。
subset= 标签名。选择要对哪个列或行(与axis中的相反)进行检查缺失,没写的则不检查。即限制检查范围。
相对复杂,请看例子和与例子注释。
2.对缺失值进行填充——df.fillna
df.fillna(value=None,axis=None)
value= 替换缺失值的值。可以是单个值、字典、dataframe等,但不能是list。区别请看例子。
3.判断数据是否为缺失——df.isnull
为什么要这样用这个方法判断是否为缺失?
因为nan不等于nan(如下例),即用类似x
== nan条件为真 这样的判断方法无法判断一个值x是否为nan。
07.常用统计函数
常用统计函数
describe 针对Series或个DataFrame列计算汇总统计
count 非na值的数量
min、max 计算最小值和最大值
idxmin、idxmax 计算能够获取到最大值和最小值得索引值
quantile 计算样本的分位数(0到1)
sum 值的总和
mean 值得平均数
median 值得算术中位数(50%分位数)
mad 根据平均值计算平均绝对离差
var 样本值的方差
std 样本值的标准差
skew 样本值得偏度(三阶矩)
kurt 样本值得峰度(四阶矩)
cumsum 样本值得累计和
cummin,cummax 样本值得累计最大值和累计最小值
cumprod 样本值得累计积
diff 计算一阶差分
pct_change 计算百分数变化
08.panel类型数据分解成dataframe
1.panel的取用方法
panel类型的的取用方法类似与dataframe,看下例子也就明白了。一般要做统计方面的工作,也是如下分解成dataframe进行操作,基本满足日常需求。了解更多panel的操作可参考:http://pandas.pydata.org/pandas-docs/stable/api.html#panel
2.panel类型数据分解成dataframe方法
09.研究内存取dataframe
1.把dataframe存成csv文件——df.to_csv()
用法如下,文件都是存到研究空间中的,如果不写路径是默认是存在根目录,如df.to_csv('df.csv')
dataframe格式的数据处理是策略开发的基本功,本篇重点整理了相关的内容,以便大家查阅和学习,希望对同学们有所帮助。