请 [注册] 或 [登录]  | 返回主站

量化交易吧 /  量化平台 帖子:3365785 新帖:17

panel类型数据怎么处理

英雄就是我发表于:5 月 9 日 17:18回复(1)

简言之,分解成dataframe处理,具体看例子。基本可以满足需求。
更多操作看文中指路。

本篇是dataframe专题使用指南的一篇,更多请查看:pandas dataframe 专题使用指南

把panel分解为dataframe¶

获得一个panel类型数据作为样例¶

pa=get_price(['000001.XSHE','000002.XSHE','000004.XSHE'],start_date='2016-02-01',end_date='2016-02-04',fields=['open','high','low','close'])
pa
<class 'pandas.core.panel.Panel'>
Dimensions: 4 (items) x 4 (major_axis) x 3 (minor_axis)
Items axis: close to open
Major_axis axis: 2016-02-01 00:00:00 to 2016-02-04 00:00:00
Minor_axis axis: 000001.XSHE to 000004.XSHE

dataframe是一个二维的表,panel则是三维的“包”。

如上面获得的panel数据——pa,是一个“4 (items) x 4 (major_axis) x 3 (minor_axis)”三维的数据。有三个维度:

  • Items axis: close to open,即从收盘价close到开盘价open。
  • major_axis axis: 2016-02-01 00:00:00 to 2016-02-04 00:00:00 ,即时间维度。
  • Minor_axis axis: 000001.XSHE to 000004.XSHE,即个股维度。

panel的取用方法¶

panel类型的的取用方法类似与dataframe,看下例子也就明白了。一般要做统计方面的工作,也是如下分解成dataframe进行操作,基本满足日常需求。

了解更多panel的操作可参考:http://pandas.pydata.org/pandas-docs/stable/api.html#panel

# 每天'000001.XSHE'的各个价格
pa[:,:,'000001.XSHE']
close high low open
2016-02-01 7.93 8.10 7.88 8.08
2016-02-02 8.05 8.12 7.92 7.93
2016-02-03 7.97 8.00 7.91 7.97
2016-02-04 8.05 8.09 8.00 8.00
# 每天各个股票的收盘价
pa['close',:,:]
000001.XSHE 000002.XSHE 000004.XSHE
2016-02-01 7.93 22.68 27.88
2016-02-02 8.05 22.68 29.30
2016-02-03 7.97 22.68 30.03
2016-02-04 8.05 22.68 31.58
# '2016-02-01'各个股票的各个价格
pa[:,'2016-02-01',:]
close high low open
000001.XSHE 7.93 8.10 7.88 8.08
000002.XSHE 22.68 22.68 22.68 22.68
000004.XSHE 27.88 28.80 27.12 27.80

全部回复

0/140

达人推荐

量化课程

    移动端课程