【问题标题】:get time from datetime series in pandas 0.13.1从 pandas 0.13.1 中的日期时间序列获取时间
【发布时间】:2023-03-15 05:12:01
【问题描述】:

您好,我(仍在)使用 pandas 0.13.1

Pandas 中是否有 time only 数据类型,我如何从 datetime 系列中获取它?考虑例如以下代码,

dtim = date_range( start='10-MAR-2016', end='10-NOV-2016 23:45', freq='15T')

...我想我应该能够做类似的事情

tim = dtim.get_time() 

是的,我环顾了pandas timeseries documentation,发现了很多细节,但对于这个简单的需求来说,这很奇怪。

我想我可能以某种方式错过了重点,但无法找到正确的页面...

谢谢


编辑:我忘了提到我需要一个可以在算术表达式中使用的时间值,专门用于计算每日正弦曲线,例如

sinTrend = ampli * sin( dtim.time * np.pi / 12 + phi )

【问题讨论】:

  • 你需要print (dtim.time)吗?
  • Hmnm,所以需要将dtim.time 转换为某个数字吗?那么dtim 的期望输出是什么?
  • 一种可能的解决方案是将日期时间转换为时间增量,然后转换为秒 - print (pd.to_timedelta(dtim.values).total_seconds())。是你需要的吗?
  • @Jezrael:我需要一个已知单位的数字,例如天或小时,可以除以另一个数字,意思是“半天”(如果单位是小时,则数字为 12)。

标签: python pandas datetime time


【解决方案1】:

所以.. 我想通了。获得数值时间就像评估表达式一样简单:

tim = dtim.hour + dtim.minute/60

这给出了以小时为单位的时间。

我希望有一个特定的方法来解决这个问题,但这已经足够好了,紧凑且有意义。

谢谢大家

【讨论】:

    猜你喜欢
    • 2013-01-18
    • 2018-09-16
    • 1970-01-01
    • 2017-02-01
    • 2018-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多