Quantopian's community platform is shutting down. Please read this post for more information and download your code.
Back to Community
create dataframe based on data.history?

is there any way to create a pandas dataframe by reading in the data.history information?

ideally, this line of code would work:

dream_dataframe = pd.DataFrame(data.history(sid(3149), 'open', 10, '1d'))

if it can't be done with data.history, is there another way?

thanks

3 responses

When you specify one equity and one field, data.history returns a Pandas Series, which is basically a 1-dimensional version of a DataFrame. If you want to create a DataFrame, you need to add an additional dimension.

You could do this by specifying more than one equity or more than one field in the call to data.history. Or, if you don't actually need any more data, you could just do something like this, putting the Series into a list to create the additional dimension:

pd.DataFrame([data.history(sid(3149), 'open', 10, '1d')])  

I'm curious, why do you want this data in the form of a DataFrame as opposed to a Series?

Disclaimer

The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by Quantopian. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. No information contained herein should be regarded as a suggestion to engage in or refrain from any investment-related course of action as none of Quantopian nor any of its affiliates is undertaking to provide investment advice, act as an adviser to any plan or entity subject to the Employee Retirement Income Security Act of 1974, as amended, individual retirement account or individual retirement annuity, or give advice in a fiduciary capacity with respect to the materials presented herein. If you are an individual retirement or other investor, contact your financial advisor or other fiduciary unrelated to Quantopian about whether any given investment idea, strategy, product or service described herein may be appropriate for your circumstances. All investments involve risk, including loss of principal. Quantopian makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances.

nathan, thx for your answer and the example code.
i do really want multiple fields, OHLCV, but just showed 'open' for my example code.

If you want multiple fields, then this function call should return a DataFrame, with a column for each field:

data.history(sid(3149), ['open', 'high', 'low', 'close', 'volume'], 10, '1d')