У меня есть фрейм данных со столбцом ORDER_DATE. Я пытаюсь добавить новый столбец для FISCAL_YEAR, который по существу имеет этот тип критериев:
- Если между 7/1/16 и 6/30/17 = FY2017
- Если между 7/1/17 и 6/30/18 = FY2018
Единственный способ, которым я мог подумать, это сделать серию условных утверждений, которые, я уверен, не самые эффективные или изящные. Хотя мое решение работает так, как задумано, оно длится вечно, и я надеюсь на предложения о том, как его улучшить.
#adds a fiscal year column to purchases
purchases['FISCAL_YEAR'] = 'N/A'
purchases['FISCAL_YEAR'][(purchases['ORDER_DATE'] >= dt.datetime.strptime('2017-07-01', "%Y-%m-%d").date()) & \
(purchases['ORDER_DATE'] <= dt.datetime.strptime('2018-06-30', "%Y-%m-%d").date())] = 'FY2017'
purchases['FISCAL_YEAR'][(purchases['ORDER_DATE'] >= dt.datetime.strptime('2017-07-01', "%Y-%m-%d").date()) & \
(purchases['ORDER_DATE'] <= dt.datetime.strptime('2018-06-30', "%Y-%m-%d").date())] = 'FY2018'