熊猫:将时间戳转换为 datetime.date

新手上路,请多包涵

我有一个时间戳数据的熊猫列

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

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

datetime.date(2013, 12, 25)

原文由 kilojoules 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 310
2 个回答

使用 .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)

原文由 Andy Hayden 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

原文由 Xavier Ho 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题