Я создал DataFrame с датой и столбцом с указанием количества минут, которое представляет из-за «эпохи», которую я определил как 1 января 1900 00:00. Здесь меня интересует только точность минутного уровня.DateOffset с меткой времени pandas с ошибкой
from pandas.tseries.offsets import *
df = pd.DataFrame([pd.Timestamp('1900-01-01 00:00:00.000000'),
pd.Timestamp('1900-01-01 00:01:00.000000'),
pd.Timestamp('1900-01-01 00:02:00.000000'),],
columns=['datetimeinput'])
Это хорошо работает, с функцией
def MinsSince1900(dt):
epoch = pd.Timestamp('1900-01-01 00:00:00.000000')
elapsedmins = (dt - epoch).astype('timedelta64[m]')
return elapsedmins
и я могу получить столбец timekey обратно в 0, 1, 2-х минут с начала эпохи, с:
df.loc[:,'timekey']= MinsSince1900(df['datetimeinput'])
Однако , когда я попытаюсь обратить вспять этот процесс и перевести временной ключ на время со следующей функцией:
def CreateTimefromKey(t):
x=pd.Timestamp('1900-01-01 00:00:00.000000') + DateOffset(minutes=t)
y = x.to_datetime()
return y
Я получаю сообщение об ошибке
TypeError: unsupported type for timedelta minutes component: Series
Я явно делаю что-то здесь со смещением, метки времени и серии. Но я подумал, что если это сработает, я могу изменить процесс.
Если кто-то может указать, где я неправильно, я был бы очень благодарен, спасибо
Это действительно помогает - спасибо за быстрый ответ! –