#python #pandas
#python #pandas
Вопрос:
Я хочу изменить дату в моем df на финансовый месяц в новом столбце, используя python pandas.
Это пример
17/01/2016 201601
18/01/2016 201602
Не могли бы вы помочь мне получить необходимый код python?
Комментарии:
1. не могли бы вы, пожалуйста, определить, что такое
fiscal month
?2. как вы можете видеть в примере, финансовый месяц начинается с 18 числа месяца и заканчивается 17 числа следующего месяца. Итак, если дата 18-го числа, она должна показывать ГГГГ-ММ 1 месяц
Ответ №1:
Вы можете сделать что-то вроде этого:
In [29]: df['fiscal_month'] = np.where(df.Date.dt.day < 18, df.Date, df.Date pd.DateOffset(months=1))
In [30]: df
Out[30]:
Date new fiscal_month
0 2016-01-17 2016-01-17 2016-01-17
1 2016-01-18 2016-02-01 2016-02-18
In [31]: df.fiscal_month = df.fiscal_month.dt.strftime('%Y%m')
In [32]: df
Out[32]:
Date new fiscal_month
0 2016-01-17 2016-01-17 201601
1 2016-01-18 2016-02-01 201602