Как я могу выбрать эти столбцы для формирования другого DataFrame в pandas? - PullRequest
0 голосов
/ 26 марта 2020

Я пытаюсь выбрать столбцы Adj Close из этого списка тикеров в консолидированном фрейме данных, но не могу туда добраться. Я чувствую, что я очень близок, я просто хотел создать сценарий, в котором я мог бы легко получить эти объединенные DataFrame только со столбцами различных DataFrames, которые я хочу сравнить.

Вот код, и я продолжаю получать просто DataFrame с пустыми столбцами. Кто-нибудь может мне помочь с этим, пожалуйста?

import datetime as dt
import pandas as pd
import pandas_datareader as web

start = dt.datetime(2015,1,1)
end = dt.datetime(2020,3,25)

index_df = web.DataReader('PETR4.SA', 'yahoo', start, end)
main_df = pd.DataFrame(index=index_df.index)

tickers = ['PETR4.SA', 'PETR3.SA', 'VALE3.SA', 'GGBR4.SA','^BVSP']

for ticker in tickers:
    df = web.DataReader(ticker, 'yahoo', start, end)
    df.rename(columns ={'Adj Close':str(ticker)}, inplace=True)
    main_df.join(df['{}'.format(ticker)])

main_df.head()

1 Ответ

1 голос
/ 26 марта 2020

Попробуйте изменить значение для l oop на что-то похожее на приведенное ниже:

for ticker in tickers:
    df = web.DataReader(ticker, 'yahoo', start, end)
    main_df[ticker] = df['Adj Close']
...