在当前版本的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。


![在Python Pandas DataFrame中将timedelta64 [ns]列转换为秒 在Python Pandas DataFrame中将timedelta64 [ns]列转换为秒](http://www.mshxw.com/aiimages/31/429100.png)
