【问题标题】:How do you extract only the date from a python datetime? [duplicate]如何仅从 python 日期时间中提取日期? [复制]
【发布时间】:2016-02-23 09:58:36
【问题描述】:

我在 python 中有一个数据框。其中一列标记为time,这是一个时间戳。使用以下代码,我已将时间戳转换为datetime

milestone['datetime'] = milestone.apply(lambda x: datetime.datetime.fromtimestamp(x['time']), axis = 1)

现在我想分隔(标记)日期和时间,并有两个不同的列,例如 milestone['only_date']milestone['only_time']。我该怎么做?

【问题讨论】:

  • datetime.date()datetime.time()?
  • @dhke 抱歉,重复评论。互联网在这里运行缓慢。我投票给你的欺骗目标。
  • 如何将 datetime.date() 和 datetime.time() 应用于整个系列
  • @Two-BitAlchemist 不用担心,在没有仲裁器的分布式系统中,冲突解决是不可能的 ;-)
  • 里程碑['date'] = 里程碑['datetime'].map(pd.Timestamp.date)

标签: python datetime pandas tokenize


【解决方案1】:

您可以使用datetime 类的datetime 方法来做到这一点:

>>> from datetime import datetime
>>> d = datetime.now()
>>> only_date, only_time = d.date(), d.time()
>>> only_date
datetime.date(2015, 11, 20)
>>> only_time
datetime.time(20, 39, 13, 105773)

Heredatetime 文档。

应用于您的示例,它可以给出如下内容:

>>> milestone["only_date"] = [d.date() for d in milestone["datetime"]]
>>> milestone["only_time"] = [d.time() for d in milestone["datetime"]]

【讨论】:

  • 我能做到。但我的 DataFrame 中有 datetime 作为列。我必须将其标记为日期和时间。
  • 此代码有效。谢谢 :)>>> 里程碑[“only_date”] = [d.date() for d in里程碑["datetime"]] >>>里程碑["only_time"] = [d.time() for d in里程碑[ "日期时间"]]
猜你喜欢
  • 2013-11-29
  • 1970-01-01
  • 1970-01-01
  • 2020-03-19
  • 2017-04-05
  • 2021-10-15
  • 2020-10-05
  • 2014-11-20
  • 1970-01-01
相关资源
最近更新 更多