Я очень новичок в Python.
Я пытаюсь выяснить, как получить в конце месяца «Adj Close» для каждого набора данных (aapl, intc, ebay и amzn).
Вот что я сделал:
import numpy as np
import pandas as pd
from pandas import Series, DataFrame
from pandas.tseries.offsets import Day,MonthEnd
import pandas_datareader.data as web
import datetime
start = datetime.datetime(2013,10,28)
end = datetime.datetime(2018,10,28)
aapl = web.DataReader('AAPL','yahoo',start,end)
intc = web.DataReader('INTC','yahoo',start,end)
ebay = web.DataReader('EBAY','yahoo',start,end)
amzn = web.DataReader('AMZN','yahoo',start,end)
Я положил в DataFrame
amazon = amzn
amzn = pd.DataFrame({'AMZN': amazon['Adj Close']})
Я хотел, чтобы данные отображали только данные на конец месяца, поэтому я сделал это, но выдает ошибку:
amzn = amzn.loc[pd.date_range(start, end, freq='BM')]
Как мне показать только конец месяца?
Я также хотел создать таблицу с указанием дат в качестве индекса, показывающего все закрытые акции в конце месяца.
Я попробовал это и не сработало (говорит, что есть дубликаты ключей):
alldata = pd.merge(aapl,intc,ebay,amzn)
Я знаю, что ‘BM’
дает мне конец месяца, но я не могу найти способ его использовать.
Я почесал голову и искал; Я не могу найти ответ.