【问题标题】:How to get a timestamp (for Time Series analysis) when data is in seconds, using python?当数据以秒为单位时,如何使用python获取时间戳(用于时间序列分析)?
【发布时间】:2021-09-16 15:34:38
【问题描述】:

我有一个要分析异常的数据集(见图 1)。

数据集的故事如下: 我测量了每个推理(图像分类任务)的温度(TPU、CPU)、内存(MemUsed)和时间(Time)。 我还对“时间”列进行了累计,以获得对 70000 张图像进行分类的整个过程所需的时间。这大约是 7000 秒。

以下代码是我在尝试获取时间戳(又名“_time”)时得到的。在图 2 中,您将看到它的外观。

#Return the index with frequency (RangeIndex to DateTimeIndex)
df1_MAX['_time']=pd.to_datetime(df1_MAX['TimeTotal'])#string to DatetimeIndex
df1_MAX=df1_MAX.set_index('_time')
df1_MAX

由于我在几秒钟内处理数据,我如何才能获得正确的时间戳?我需要使用什么格式?

谢谢

图片 1

图片 2

------------------编辑-------------- 使用 timedelta64

---------------编辑------------

我将“TimeTotal”更改为 ms。并将'timedelta64 []'放在毫秒中。

df1_MAX['_time']= pd.to_datetime("2020-07-06 10:53:00")+df1_MAX['TimeTotal'].astype('timedelta64[ms]')
df1_MAX=df1_MAX.set_index('_time')
df1_MAX

【问题讨论】:

  • 你的意思是你测量了时间流逝?
  • 我测量了每个推理的持续时间(时间)。是的,失误了。
  • 正确的时间戳”和“什么格式”是什么意思?你的意思是数据类型? - 请注意,这将取决于您要对数据执行的操作,即您要解决的问题。

标签: python-3.x pandas time-series timestamp


【解决方案1】:

然后可以将其设为时间增量

df['TIME']= df['Time'].astype('timedelta64[s]')

如果您想创建一个日期时间戳,假设您从2021-07-06 10:53:02 开始。只需将 timedelta 添加到开始日期时间即可。

数据

df = pd.DataFrame({"Time": [121.83,101.22],"score": [1,2],"Label": ["trimaran", "trimaran"]})

解决方案

 df['DateTime']= pd.to_datetime("2021-07-06 10:53:02")+df['Time'].astype('timedelta64[s]')

结果

   Time      score     Label            DateTime
0  121.83      1  trimaran  2021-07-06 10:55:03
1  101.22      2  trimaran  2021-07-06 10:54:43

【讨论】:

  • 我不明白。你能检查一下编辑吗?
  • 您只能将时间间隔更改为时间增量。你想让它成为一个时间戳吗?在哪一天?
  • “时间”以毫秒为单位。 'TimeTotal' 以秒为单位。最后一个是“时间”的累积总和。因为“时间”不同。有时很高,有时很低。
  • 是的,我只是对“TimeTotal”比例和“timedelta”进行了一些更改。
猜你喜欢
  • 2017-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-26
  • 2015-09-22
  • 1970-01-01
  • 1970-01-01
  • 2012-03-21
相关资源
最近更新 更多