使用pd.Series.dt.end_time会生成不同的时间戳

时间:2017-08-02 21:06:08

标签: python pandas

考虑一系列日期时间

s = pd.Series(pd.to_datetime(['2010-08-05']))
s

0   2010-08-05
dtype: datetime64[ns]

我想创建一系列句点对象并获取end_time属性。

sp = s.dt.to_period('M')
sp

0   2010-08
dtype: object

现在,我访问end_time属性。

sp.dt.end_time

0   2010-08-31
dtype: datetime64[ns]

我几乎感到满意,直到我意识到end_time应该是Timestamp('2010-08-31 23:59:59.999999999')而不是Timestamp('2010-08-31 00:00:00')

好的,所以我比较了

sp.iloc[0].end_time

Timestamp('2010-08-31 23:59:59.999999999')
sp.dt.end_time.iloc[0]

Timestamp('2010-08-31 00:00:00')
sp.iloc[0].end_time == sp.dt.end_time.iloc[0]

False

这对我没有意义。显然,这些时期是正确的。我怎样才能让pd.Series.dt.end_time返回正确的东西?

0 个答案:

没有答案