Как добавить последний день месяца для каждого месяца в Python - PullRequest
0 голосов
/ 12 октября 2018

У меня есть данные в следующем формате:

final.head(5)

Head of the data, displaying sales for each month from May 2015

(заголовок данных, отображающий продажи за каждый месяц с мая 2015 г.)

Я хочу добавить последний день месяца для каждой записи и хочу вывод, подобный этому

transactionDate sale_price_after_promo
05/30/2015  30393.8
06/31/2015  24345.68
07/30/2015  26688.91
08/31/2015  46626.1
09/30/2015  27933.84
10/31/2015  76087.55

Я пробовал это

pd.Series(pd.DatetimeIndex(start=final.start_time, end=final.end_time, freq='M')).to_frame('transactionDate')

Но получаю ошибку

'DataFrame' object has no attribute 'start_time'

1 Ответ

0 голосов
/ 12 октября 2018

Создать PeriodIndex и затем преобразовать его to_timestamp:

df = pd.DataFrame({'transactionDate':['2015-05','2015-06','2015-07']})

df['date']  = pd.PeriodIndex(df['transactionDate'], freq='M').to_timestamp(how='end')
print (df)
  transactionDate       date
0         2015-05 2015-05-31
1         2015-06 2015-06-30
2         2015-07 2015-07-31
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...