Я работаю с набором данных, в котором указано количество времени, прошедшее с момента внесения записи в нашу ERP. Он отображается в прошедших секундах (хотя некоторым объектам несколько дней). Я хочу создать новый столбец в своей таблице (в формате MM: DD: YY HH: SS), который показывает дату / время, когда была сделана запись, путем вычитания количества секунд, прошедших с текущего времени. Тип данных для столбца «Время» - «M8 [ns]»
Я просмотрел различные решения для разных частей (например, преобразование записи в моем фреймворке данных для чтения в секундах), но у меня некоторые трудности с моим кодом. Вот что я пробовал:
import pandas as pd
import time
import datetime
df = pd.read_excel (r'File1.xlsx', sheet_name = 'Sheet1')
df['Time'] = df['Time'].astype('float64')
df['Time'] = pd.to_datetime(df['Time'], unit = 's')
Date Created = (datetime.now () - df['Time'])
df['Date Created'] = Date Created
Любое понимание будет очень признательно
Обновление: я добился некоторого прогресса
import pandas as pd
import time
from datetime import datetime
df = pd.read_excel (r'File1.xlsx', sheet_name = 'Sheet1')
df['Time'] = pd.to_datetime(df['Time'], unit = 's')
df['Date Created'] = datetime.now() - df['Time']
Столбец Time теперь хранится как int64. Используя новый код, ['Time'] показывает: 1970-01-01 00: 02: 57 Однако с момента создания прошло только 2:57. Есть некоторые значения, которые были созданы дни go. Я хотел бы иметь возможность вычесть это 2:57 из текущего времени, чтобы найти дату и время, когда была сделана запись.
Спасибо за поддержку.
Обновление 2: Одно из мои инженеры и я смогли выяснить, как определить дату создания записи.
timer = pd.to_timedelta(df['Time'], unit='s')
#timer = pd.to_datetime(timer)
now = pd.to_datetime(datetime.now())
#x = (datetime.now()-datetime(1970,1,1)) #.total_seconds()
#print(timer)
#x = datetime.now()-timer #.total_seconds()
date_created = now-timer
print('Date Created:\n', date_created)