Сохранение данных о котировках акций из этого объекта в фрейме данных python panda

У меня есть объект python, импортированный из win2com, который содержит котировки цен на акции. numbars — количество баров в истории акции. quotations — объект, содержащий котировки акций.

Чтобы получить и сохранить цены и даты, код Python будет выглядеть примерно так:

for x in range(0,num_bars):
    date_quote[x] = quotations(x).Date.date()
    close[x] = quotations(x).Close
    open[x] = quotations(x).Open
    high[x] = quotations(x).Low
    low[x] = quotations(x).High
    volume[x] = quotations(x).Volume
    open_int[x] = quotations(x).OpenInt

Я только что обнаружил фрейм данных панды сегодня и подумал, что будет лучше хранить данные о котировках акций в фрейме данных панды, чтобы использовать экосистему, построенную вокруг панды. Однако, когда я посмотрел на структуру фрейма данных, созданную модулем pandas_datareader, она выглядела очень сложной. Есть ли удобный способ, например, API или библиотека, для хранения данных о запасах из объекта quotations в фрейме данных panda?

Я использую Python v3.6


person user3848207    schedule 09.10.2017    source источник


Ответы (2)


Вы можете сделать следующее:

import pandas as pd

df = pd.DataFrame(columns=['Date', 'Close', 'Open', 'Low', 
                           'High', 'Volume', 'OpenInt'])
for i in range(num_bars):
    df.loc[i] = [quotations(i).Date.date(),
                 quotations(i).Close,
                 quotations(i).Open,
                 quotations(i).Low,
                 quotations(i).High,
                 quotations(i).Volume,
                 quotations(i).OpenInt]

После этого у вас будет df DataFrame с данными о котировках акций.

person Eduard Ilyasov    schedule 09.10.2017
comment
Могу я спросить, почему вы храните его в df.loc? это стандартное место хранения для настраиваемых фреймов данных панды? - person user781486; 11.10.2017
comment
df — это кадр данных pandas или просто двумерная таблица. Используя .loc[i], вы можете получить доступ к строке этой таблицы по позиции i. После того, как вы получите к нему доступ, вы можете поместить значения в эту строку df, назначив список значений с длиной, равной количеству столбцов df DataFrame. - person Eduard Ilyasov; 11.10.2017

Возможно, вы ищете:

из pandas_datareader импортировать данные aapl = data.DataReader('AAPL', 'google', '1980-01-01')

person ChaosPredictor    schedule 09.10.2017
comment
Я не использую dataReader для импорта из Google в кадр панды. Я хотел бы импортировать объект quotations в моем вопросе в кадр панды. - person user3848207; 09.10.2017