【问题标题】:Convert decimal Day-of-year dataframe to datetime with HH:MM使用 HH:MM 将十进制年份数据帧转换为日期时间
【发布时间】:2021-11-15 08:10:43
【问题描述】:

是否可以将整列十进制 Day-Of-Year 转换为日期时间格式 YYYY-mm-dd HH:MM ?我尝试计算一天中的秒数和分钟数,但十进制 DOY 与十进制小时不同。

例子:

DOY = 181.82015046296297 转换成: 时间戳('2021-06-05 14:00:00')

这里的日期将是一个日期时间对象,在我的数据框中仅显示为 2021-06-05 14:00:00。而我感兴趣的年份是2021年。

【问题讨论】:

  • 你能分享一个你想如何转换的例子吗?
  • 有可能,但在哪一年?
  • 2021 年

标签: pandas dataframe datetime


【解决方案1】:

使用Timedelta 创建从一年的第一天开始的偏移量

输入数据:

>>> df
   DayOfYear
0        254
1        156
2        303
3         32
4        100
5          8
6        329
7         82
8        218
9        293
df['Date'] = pd.to_datetime('2021') \
             + df['DayOfYear'].sub(1).apply(pd.Timedelta, unit='D')

输出结果:

>>> df
   DayOfYear       Date
0        254 2021-09-11
1        156 2021-06-05
2        303 2021-10-30
3         32 2021-02-01
4        100 2021-04-10
5          8 2021-01-08
6        329 2021-11-25
7         82 2021-03-23
8        218 2021-08-06
9        293 2021-10-20

【讨论】:

  • 非常感谢!!我无法显示分钟和小时,但用你的方法它可以工作
  • 很高兴读到。感谢您的支持 :) 不要忘记我添加的.sub(1)
猜你喜欢
  • 2018-05-10
  • 2023-03-13
  • 1970-01-01
  • 1970-01-01
  • 2019-07-20
  • 2021-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多