У меня есть такой фрейм данных:
Milestone Initial_Date Next_Date Buffer Buffer1
-------------------------------------------------------
M0 11/1/2020 13/1/2020 6 1
M1 13/1/2020 15/1/2020 3 1
M0 24/12/2019 25/12/2019 4 2
M1 16/12/2019 21/12/2019 9 2
M0 8/1/2020 14/1/2020 10 1
M2 6/1/2020 9/1/2020 5 2
M3 18/1/2020 21/1/2020 3 4
, и я применяю ниже logi c к фрейму данных
CASE
WHEN milestone = 'M0' THEN Intial_date + Buffer
WHEN milestone = 'M1' THEN Next_datee + Buffer
WHEN milestone >= 'M2' THEN Intial_date + Buffer1
ELSE NULL
END AS Result
Ожидаемый результат:
Result
------------
17/1/2020
18/1/2020
28/12/2019
30/12/2019
18/1/2020
8/1/2020
22/1/2020
Мой код:
# типами полей даты являются datetime64 [нс], а буфер имеет тип float64
data['Milestone'] = pd.Categorical(data['Milestone'],categories=['00','M0','M1','M2','M3','M4','M5','M6','M7'],ordered=True)
buffer = pd.to_timedelta(final_result['Buffer'], unit='d')
buffer1 = pd.to_timedelta(final_result['Buffer1'], unit='d')
data['Result'] =np.select([data['Milestone']=='M0',data['Milestone']=='M1',
data[MILESTONE']>='M2']
,[data['Initial_Date']+Buffer,data['Next_Date']+Buffer,
data['Initial_Date']+Buffer1)
Я получаю ошибку
TypeError: Неверный тип продвижения
из приведенного выше кода. Можете ли вы помочь мне исправить это?