【问题标题】:How to convert pandas type <class 'pandas._libs.tslibs.timedeltas.Timedelta'> to Timestamp如何将熊猫类型 <class 'pandas._libs.tslibs.timedeltas.Timedelta'> 转换为时间戳
【发布时间】:2020-09-11 22:24:37
【问题描述】:
TimeSeries = pandas.Series(df['time_col'].values.tolist())
pandas.to_timedelta(TimeSeries).mean()
获取mean() 后,我需要将其转换为TimeStamp 数据类型以将其添加到DataFrame。
下面的行不工作
pandas.to_timestamp(pandas.to_timedelta(TimeSeries).mean())
pandas.Timestamp(pandas.to_timedelta(TimeSeries).mean())
提前致谢,
拉古
【问题讨论】:
标签:
python
pandas
dataframe
timestamp
time-series
【解决方案1】:
为了将 timedelta 转换为时间戳,需要添加一些日期时间,例如:
import pandas as pd
out = pd.to_datetime('2000-01-01') + pd.to_timedelta(TimeSeries).mean()
【解决方案2】:
您可以使用平均 timedelta 的 total_seconds 并将其提供给 pd.Timestamp,并指定正确的单位:
import pandas as pd
# example Series:
TimeSeriesDelta = pd.Series(pd.to_timedelta(['00:00:02.285932',
'00:00:11.366717',
'00:00:11.367594']))
timestamp = pd.Timestamp(TimeSeriesDelta.mean().total_seconds(), unit='s')
# Timestamp('1970-01-01 00:00:08.340081')
请注意,这将添加一个日期,1970-01-01。