当前位置:  开发笔记 > 编程语言 > 正文

Pandas:将Timestamp转换为datetime.date

如何解决《Pandas:将Timestamp转换为datetime.date》经验,为你挑选了2个好方法。

我有一个Pandas列的Timestamp数据

In [27]: train["Original_Quote_Date"][6] 
Out[27]: Timestamp('2013-12-25 00:00:00')

如何检查这些对象与datetime.date该类型对象的等价性

datetime.date(2013, 12, 25)

Andy Hayden.. 41

使用.date方法:

In [11]: t = pd.Timestamp('2013-12-25 00:00:00')

In [12]: t.date()
Out[12]: datetime.date(2013, 12, 25)

In [13]: t.date() == datetime.date(2013, 12, 25)
Out[13]: True

要与DatetimeIndex(即时间戳数组)进行比较,您需要以相反的方式执行此操作:

In [21]: pd.Timestamp(datetime.date(2013, 12, 25))
Out[21]: Timestamp('2013-12-25 00:00:00')

In [22]: ts = pd.DatetimeIndex([t])

In [23]: ts == pd.Timestamp(datetime.date(2013, 12, 25))
Out[23]: array([ True], dtype=bool)


Xavier Ho.. 14

从pandas 0.20.3开始,用于.to_pydatetime()将任何pandas.DateTimeIndex实例转换为Python datetime.datetime.



1> Andy Hayden..:

使用.date方法:

In [11]: t = pd.Timestamp('2013-12-25 00:00:00')

In [12]: t.date()
Out[12]: datetime.date(2013, 12, 25)

In [13]: t.date() == datetime.date(2013, 12, 25)
Out[13]: True

要与DatetimeIndex(即时间戳数组)进行比较,您需要以相反的方式执行此操作:

In [21]: pd.Timestamp(datetime.date(2013, 12, 25))
Out[21]: Timestamp('2013-12-25 00:00:00')

In [22]: ts = pd.DatetimeIndex([t])

In [23]: ts == pd.Timestamp(datetime.date(2013, 12, 25))
Out[23]: array([ True], dtype=bool)



2> Xavier Ho..:

从pandas 0.20.3开始,用于.to_pydatetime()将任何pandas.DateTimeIndex实例转换为Python datetime.datetime.


值得注意的是,对于较大的DatetimeIndexs而言,这可能会很慢/占用大量内存。这是因为DatetimeIndex基本上只是围绕int64s数组的包装器,而python datetimes数组是成熟的python对象的数组/没有紧凑地布置。
推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有