Как отфильтровать дату по концу рабочего месяца ('BM'), используя datetime? - PullRequest
0 голосов
/ 23 ноября 2018

Я пытаюсь посмотреть на скорректированную стоимость закрытия определенной акции на конец месяца.Мне удалось получить фрейм данных с датами и значениями примыкания, но я не могу отфильтровать этот фрейм данных, включив в него только даты, которые являются концом месяца, и их соответствующее значение при закрытии.

 apple_adjclose = apple_stock[['date','adjclose']]

это информационный фрейм, который включает в себя даты на 2 года в следующем формате ГГГГ-ММ-ДД, и примыкание имеет значения с плавающей запятой.Помощь очень ценится!

Пример изображения ввода и вывода, которое я получаю (до сих пор не понял, как разместить таблицы в моих вопросах:)

Другая попытка

Попытка 3

Решено здесь

Ответы [ 2 ]

0 голосов
/ 24 ноября 2018

преобразовал дату из объекта в datetime, затем использовал .asfreq (), чтобы получить то, что мне нужно.Решение можно найти здесь: Решение

0 голосов
/ 23 ноября 2018

Допустим, у вас есть такой фрейм данных с двумя столбцами,

dates = pd.date_range('01/01/2016', '12/31/2017')
df = pd.DataFrame({'date':dates,'adjclose':np.random.randint(100,200, len(dates))})

Вы можете создать экземпляр смещений BMonthEnd, чтобы получить даты с частотой MonthEnd и срезом фрейма данных

df.loc[df.date.isin(df.date + pd.offsets.BMonthEnd(1))]


   adjclose date
28  128     2016-01-29
59  193     2016-02-29
90  167     2016-03-31
119 185     2016-04-29
151 133     2016-05-31
181 184     2016-06-30
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...