pandas.Series.dt.round在NAT上的不一致行为有不同的freq参数?

时间:2016-12-21 11:21:46

标签: python pandas

我在pandas.Series.dt.round中发现了不一致的行为:

import pandas as pd
from datetime import datetime
d=pd.DataFrame(data=[[datetime(2010,1,1,23,14,12,599), 2], [None, 4]], columns=['dtime', 'int'])

print d['dtime'].dt.round('s')
0   2010-01-01 23:14:12
1                   NaT
Name: dtime, dtype: datetime64[ns]

print d['dtime'].dt.round('5s')
0   2010-01-01 23:14:10.000000000
1   2262-04-10 00:12:44.999999488  # what?
Name: dtime, dtype: datetime64[ns]

print d['dtime'].dt.round('min')
0   2010-01-01 23:14:00
1   2262-04-10 00:13:00  # again???
Name: dtime, dtype: datetime64[ns]

所以,在第一种情况下(freq参数's')保留NaT(我会说,正如我所料)。然而,在第二和第三种情况下,NaT被转换为一些看似奇怪的日期时间。 更别说其他解决方案了,有人更了解这个(貌似)的错误吗?或者我是否会错过某些(隐藏)功能,或者讨论主题的一些(甚至更隐蔽的)链接?

0 个答案:

没有答案