In [88]: print df.days.head()
0 756 days
1 262 days
2 72 days
3 173 days
4 12 days
Name: days, dtype: timedelta64[ns]
我想将其转换为int64,我执行以下操作:
df['days'] = df['days'].astype(int)/(24*3600*10**9)
这有效,但好奇的是有更快/更好的方法吗?
解决方法:
In [3]: s = Series(pd.to_timedelta(['756 days','2 days', '3 days 5 min']))
In [4]: s
Out[4]:
0 756 days 00:00:00
1 2 days 00:00:00
2 3 days 00:05:00
dtype: timedelta64[ns]
In [5]: s.astype('timedelta64[D]')
Out[5]:
0 756
1 2
2 3
dtype: float64
In [6]: s / np.timedelta64(1,'D')
Out[6]:
0 756.000000
1 2.000000
2 3.003472
dtype: float64
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。