【问题标题】:Convert Day of Year integer to Day and Month integers in Python在 Python 中将年整数转换为日和月整数
【发布时间】:2021-04-18 15:34:57
【问题描述】:

我的数组out 中的索引为 0 处有一个表示 1-365 的整数。如何使用 Python 和 Pandas 将其转换为获取月份和日期?

我试过了:

out[0] = pd.to_datetime(out[0]).dt.strftime('%m-%d')

但我收到一条错误消息,提示 AttributeError: 'Timestamp' object has no attribute 'dt'

【问题讨论】:

  • 那么是哪一年?想想闰年......
  • 这能回答你的问题吗? Python Question: Year and Day of Year to date?
  • 您必须添加起始年份/日期并删除时间戳的 .dt。我的解决方案是pd.to_datetime(out[0]-1 ,unit='D',origin=pd.Timestamp('2021-01-01')).strftime('%m-%d')
  • 欢呼@campy,您的解决方案完美运行!

标签: python pandas datetime timestamp attributeerror


【解决方案1】:

你必须知道它是否是闰年? 如果是闰年,二月有 29 天,如果不是 28 天。 否则您的转换将不正确。

闰年是任何可以被 4 整除的年份(例如 2016、2020、2024 等),除非它可以被 100 整除,否则它不是(例如 2100、2200 等)除非能被400整除,否则就是(如2000、2400)

【讨论】:

    猜你喜欢
    • 2020-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-24
    • 1970-01-01
    相关资源
    最近更新 更多