【发布时间】:2020-08-05 03:19:18
【问题描述】:
我有一个包含以下列的 DF:
datetime datetime64[ns]
objid int64
delay timedelta64[ns]
延迟输出的一个例子是:`
0 days 00:04:59
由于某种原因,当我将此 DF 加载到 dcc.Store 会话变量中时,
data = df.to_json()
return data
并在另一个回调中读回,
df = pd.read_json(data)
它返回以下类型:
datetime datetime64[ns]
objid int64
delay float64
现在和上面的例子一样,延迟输出是:
299000.0
我不确定它为什么返回 float64,而不是 timedelta64(可能是因为一些 NaN?)。
所以我在做:
df['delay'] = pd.to_timedelta(df['delay'], unit='s')
输出是:
P3DT11H3M20S
我理解它与原始结果不同,即使是 iso 格式。
我做错了什么?
如何从 float64 转换为 timedelta64[s],并将输出自定义为%d %H:%M:%S?
【问题讨论】:
-
unit="ms"...我认为可行 -
好的!是的,它解决了部分问题。现在我通过 isoformat 接收到正确的值:P0DT0H4M59S。如何将输出格式化为 %d %H:%M:%S?谢谢!
标签: python pandas plotly-dash