在Python Pandas DataFrame中将timedelta64 [ns]列转换为秒

在Python Pandas DataFrame中将timedelta64 [ns]列转换为秒,第1张

在Python Pandas DataFrame中将timedelta64 [ns]列转换为秒

在当前版本的Pandas(版本0.14)中,这可以正常工作:

In [132]: df[:5]['duration'] / np.timedelta64(1, 's')Out[132]: 0    12321    13902    14953     7974    1132Name: duration, dtype: float64

这是较旧版本的Pandas / NumPy的解决方法:

In [131]: df[:5]['duration'].values.view('<i8')/10**9Out[131]: array([1232, 1390, 1495,  797, 1132], dtype=int64)

timedelta64和datetime64数据在内部存储为8字节整数(dtype

'<i8'
)。因此,以上将timedelta64s视为8字节整数,然后进行整数除法将纳秒转换为秒。

请注意,您需要NumPy 1.7或更高版本才能使用datetime64 / timedelta64s。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5096084.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存