提供int系列时,为什么pd.to_timedelta失败?

时间:2019-05-05 14:41:47

标签: python pandas datetime

我想将以下int系列转换为timedelta。我希望结果是16h30s00,但这是另外一回事。

我该怎么做才能将数据帧转换为16h30s00?

a = pd.DataFrame({'b':[163000,163000]})
pd.to_timedelta(a.b,'S')

Out[87]: 
0   1 days 21:16:40
1   1 days 21:16:40
Name: b, dtype: timedelta64[ns]

1 个答案:

答案 0 :(得分:1)

尝试一下。

a = pd.DataFrame({'b':[163000,163000]})
k=pd.to_datetime(a.b,format='%H%S%f')
k=k.dt.strftime('%H:%M:%S.%f')
print(pd.to_timedelta(k,unit='S'))

输出:

0   16:00:30
1   16:00:30
Name: b, dtype: timedelta64[ns]