Сравнение 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, которые вы будете использовать позже.