提问人:Gianni Spear 提问时间:7/5/2023 最后编辑:FObersteinerGianni Spear 更新时间:7/5/2023 访问量:68
在 Python 中将毫秒转换为日期时间
convert millisecond to datetime in Python
问:
我有一组数据,其时间以毫秒为单位(time.stamp),其中每个值代表一个misure(10 Hz是仪器的工作时间):
在知道测量开始的年、月、日、小时、分钟和秒时,我想做的是转换为类型的日期时间
yyyy-mm-dd hh:min:sec.milliseconds
我通过创建日期时间列,在 python 中使用几行代码执行此操作:
flist = os.listdir(data_files)
for f in flist:
df = pd.read_csv(data_files + "/" + f)
yyyymmdd, hhmm, _ = f.split(".")
yyyy = yyyymmdd[0:4]
mm = yyyymmdd[4:6]
dd = yyyymmdd[6:8]
hh = hhmm[0:2]
minute = hhmm[2:4]
lst = []
for ind in df.index:
ts: float = df['time.stamp'][ind]
d = f'{yyyy}-{mm}-{dd} {hh}:{minute}:{0}.{0}'
dt = datetime.strptime(d, '%Y-%m-%d %H:%M:%S.%f')
result = dt + timedelta(milliseconds=ts)
lst.append(str(result))
df['datetime'] = lst
df.to_csv(os.path.normpath(data_dummy_files + "/" + f), index=False)
问题是最终数据是 这意味着测量的开始和结束之间大约经过了 4 分钟,实际上仪器运行了大约 60 分钟(1 小时)。2021-05-01 00:00:03.599900
答: 暂无答案
评论
result = dt + timedelta(seconds=ts)
pd.Timestamp("2023-01-01") + pd.to_timedelta(df["time.stamp"], unit="s")