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

量化交易吧 /  量化平台 帖子:3364694 新帖:15

【dataframe】组建dataframe

外汇老法师发表于:5 月 9 日 20:15回复(1)

摘要

  • 组建方法——pd.DataFrame

  • 用字典型数据组建——pd.DataFrame

  • 简便地获得聚宽数据中的时间索引


dataframe 组建¶

# 首先导入pandas模块import pandas as pd

组建方法——pd.DataFrame¶

pd.DataFrame(data=None, index=None, columns=None)

  • data= 数据

  • index= 索引,即行名、行表头

  • columns= 列名、列表头

使用前要执行前面的import pandas as pd

# 建立一个简单的dataframe# 一个三行两列的数据d= [[1,2],[3,4],[5,6]]# 列名v=['a','b']#行名h=['c','d','e']
# 将数据d,列名v,行名h组*一个dataframedf = pd.DataFrame(data=d,index=h,columns=v)df

ab
c12
d34
e56

用字典型数据组建——pd.DataFrame¶

方法基本同上,因为字典型自带一个标签,所以就不用写列名了。例子如下:

# 建立一个简单的字典型数据dic={'a':[1,3,5],'b':[2,4,6]}dic
{'a': [1, 3, 5], 'b': [2, 4, 6]}
df = pd.DataFrame(data=dic,index=['c','d','e'])df

ab
c12
d34
e56

简便地获得聚宽数据中的时间索引¶

有时建立一个dataframe时,为了和平台数据保持一致,需要使用相同的时间行索引,但时间数据操作复杂,而且涉及到节假日、非交易日等问题,直接建立比较困难,这里介绍一种简单的方法,快速获得跟平台数据一致的时间索引。

原理就是直接把平台数据的时间索引拿出来。例子如下:

h=get_price('000001.XSHE',start_date='2016-02-01',end_date='2016-02-03',frequency='daily').indexh
DatetimeIndex(['2016-02-01', '2016-02-02', '2016-02-03'], dtype='datetime64[ns]', freq=None, tz=None)

用获得的时间索引,组建dataframe

df = pd.DataFrame(data=dic,index=h)df

ab
2016-02-0112
2016-02-0234
2016-02-0356

全部回复

0/140

量化课程

    移动端课程