Если заявление о том, когда дата находится в диапазоне дат - PullRequest
0 голосов
/ 07 декабря 2018

Я создаю флаг, который генерирует 1, когда условие выполнено, иначе 0

Я пытаюсь добраться до этого состояния

enter image description here

Я хочусоздать код, который, если df['Won'] = 1 или '2018-10-31' < df['Created Date'] < '2018-12-01', вернет 1, иначе 0

В настоящее время мой код:

df['Deal'] = pd.np.where((df['Won'] == 1) | (df['Created Date']>'2018-10-31'), 1, 0) 

Я не уверенкак исправить мой код

Заранее спасибо!

1 Ответ

0 голосов
/ 07 декабря 2018
df['Deal'] = (df['Won'] == 1) | ( (df['Created Date']>'2018-10-31') & (df['Created Date']<'2018-12-01') )

Это вернет bool, который вы можете преобразовать в int, если хотите, командой astype (int).Кроме того, я бы порекомендовал преобразовать эти строки даты в фактические объекты даты и времени с чем-то вроде

df['Created Date'] = pd.to_datetime(df['Created Date'])

, тогда ваш запрос df ['Deal'] будет иметь что-то более похожее на

df['Created Date'] > dt.datetime(2018,10,31).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...