Сравнение datetime64 в фреймах данных

Я борюсь с сравнениями datetime64 в фреймах данных, чтобы обновить столбец. скажем, у нас есть фрейм данных 'df' со столбцом 'date'

df.date.values[0]
Out[128]: numpy.datetime64('2015-05-17T22:00:00.000000000+0800') 

мне нужно было отбросить время и просто сравнить даты, чтобы извлечь дату, которую я использую.date()

df.date[0].date()
Out[131]: datetime.date(2015, 5, 17)

Я проверяю это первым

df.date[0].date()==np.datetime64('2015-05-17')
Out[132]: True

Так что все кажется хорошим, я пытаюсь выполнить условие, если столбец даты равен определенной дате, обновить другой столбец в другое значение

df[df.date[0].date()==np.datetime64('2015-05-17')].flag=True

Я получаю KeyError: True

как мне правильно сделать это?

1 ответ

Вы пробовали что-то вроде:

flag = pd.Series(np.where(df.date == np.datetime64('2015-05-17'), True, False), index=df.index)

flag будет серией значений True/False, которые вы будете использовать позже.

Другие вопросы по тегам