Работа с данными в python и numpy / pandas - PullRequest
0 голосов
/ 12 апреля 2020

, поэтому я начал учиться работать с данными в python. Я хотел загрузить несколько ценных бумаг. Но у меня есть ошибка, которую я не могу исправить по какой-то причине. Может кто-нибудь сказать мне, в чем проблема?

import numpy as np
import pandas as pd
from pandas_datareader import data as wb
import matplotlib.pyplot as plt

tickers = ['PG', 'MSFT', 'F', 'GE']
mydata = pd.DataFrame()
for t in tickers:
    mydata[t] = wb.DataReader(t, data_source='yahoo', start = '1955-1-1')

enter image description here

Ответы [ 2 ]

1 голос
/ 12 апреля 2020

вам нужно 2 исправления: 1) 1955 г. слишком рано для этого источника данных, попробуйте 1971 или новее. 2) ваши данные из wb.DataReader(t, data_source='yahoo', start = '1971-1-1') поставляются в виде фрейма данных с несколькими сериями, поэтому вы не можете сохранить их в mydata [t] как одну серию. Используйте словарь, как в другом ответе, или сохраняйте только цены закрытия: mydata[t] = pdr.data.DataReader(t, data_source='yahoo', start = '2010-1-1')['Close']

1 голос
/ 12 апреля 2020

Прежде всего, пожалуйста, не передайте информацию в виде изображений, если это абсолютно необходимо. Смотрите: эта ссылка Теперь вот решение вашей проблемы. Вы используете год 1955, но есть вероятность, что данные за этот год недоступны или могут быть другие проблемы. Но когда вы выберете правильный год, это сработает. Другое дело, что он возвращает данные в виде фрейма данных, поэтому вы не можете назначить его как словарь, поэтому вместо создания фрейма данных вы должны создать словарь и сохранить в нем все фреймы данных.

Здесь улучшенный код, тщательно выбирайте год

import numpy as np
import pandas as pd
from pandas_datareader import data as wb
import matplotlib.pyplot as plt

from datetime import datetime as dt

tickers = ['PG', 'MSFT', 'F', 'GE']
mydata = {}
for t in tickers:
    mydata[t] = wb.DataReader(t, data_source='yahoo',start=dt(2019, 1, 1), end=dt.now())

Выход

mydata['PG']

               High        Low         Open        Close      Volume    Adj Close
Date                        
2018-12-31  92.180000   91.150002   91.629997   91.919998   7239500.0   88.877655
2019-01-02  91.389999   89.930000   91.029999   91.279999   9843900.0   88.258835
2019-01-03  92.500000   90.379997   90.940002   90.639999   9820200.0   87.640022
2019-01-04  92.489998   90.370003   90.839996   92.489998   10565700.0  89.428787
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...