У меня есть база данных, которую я читаю из Excel в качестве кадра данных pandas, и даты указываются в метке времени dtype
, но мне нужно, чтобы они были в np.datetime64
, чтобы я мог выполнять вычисления.
Я знаю, что функция pd.to_datetime()
и метод astype(np.datetime64[ns])
работают. Однако по какой-то причине я не могу обновить свой фрейм данных для получения этого типа данных, используя код, упомянутый выше.
Я также пытался создать вспомогательный фрейм данных из исходного, с указанием только дат, которые я хочу обновить, набрав тип, преобразовав его в np.datetime64
и подключив его обратно к исходному фрейму данных:
dfi = df['dates']
dfi = pd.to_datetime(dfi)
df['dates'] = dfi
Но все равно это не работает. Я также попытался обновить значения одно за другим:
arr_i = df.index
for i in range(len(arr_i)):
df.at[arri[l],'dates'].to_datetime64()
Редактировать
Кажется, корень проблемы в том, что dtype
столбца обновляется до np.datetime64
, но каким-то образом, при получении отдельных значений изнутри, они по-прежнему имеют dtype = Timestamp
Есть ли у кого-нибудь предложение относительно быстрого решения?