【问题标题】:python create multiple year daterange with specific end date for every yearpython为每年创建具有特定结束日期的多年日期范围
【发布时间】:2021-10-24 13:44:57
【问题描述】:

您好,需要帮助解决这个问题

a = pd.date_range(start="2001-01-01", freq="T", periods=520000)

这将创建我需要 1 年的日期范围。我想在接下来的 80 年里做同样的事情。最终结果应该是 80 年的日期范围,但每年在 520000 分钟后结束。然后我将日期范围添加到我的数据集中。

【问题讨论】:

  • 每年年末(如 3 天)都有缺失数据。也许最好用 0 填充缺失的数据并使用全年
  • 我认为您可以创建一个循环来追加,但我认为您的评论更好地导致进一步下降,存在差距,我想知道您以后的算法是否会遇到问题。
  • 是的,到时候会有更多问题,可能我会加0
  • 为什么要同时指定 freqperiods ?您想要每年的前 520000 分钟吗?还是 80 年的每一分钟?

标签: python pandas date range


【解决方案1】:
# this is the data
ALL_Data = pd.DataFrame({"Lebensverbrauch_Min": LebensverbrauchMIN,
                             "HPT": Heisspunkttemperatur_Sim1,
                             "Innentemperatur": StartS,
                             "Verlustleistung": V_Leistung,
                            "SolarEintrag": SolarEintrag,
                            "Lastfaktor": K_Load_Faktor
                             })

# How many minutes are left in the year
    DatenJahr = len(pd.date_range(start=str(xx) + "-01-01", freq="T", periods=520000))
    VollesJahr = len(pd.date_range(start=str(xx) + "-01-01", freq="T", end=str(xx + 1) + "-01-01"))
    GG = (VollesJahr - DatenJahr)
    d = pd.DataFrame(np.zeros((GG, 6)), columns=['Lebensverbrauch_Min', 'HPT', 'Innentemperatur','Verlustleistung',
                                                'SolarEintrag', 'Lastfaktor',])
#combine Data with 0
    ALL_Data = pd.concat([ALL_Data, d])

似乎可以工作,但完整的代码需要 4 小时才能运行,所以我们会看到

【讨论】:

  • 请用英文?
  • @Keldorn:这是英文的。数据和变量名不是,但这与功能无关。 cmets和解释都是英文的。
  • 没错,但是变量名有助于阅读程序,从而减少了理解程序所需的工作量。如果你不努力让帮助你变得容易,我就不会努力阅读你的程序并帮助你。 YMMV。
  • 下次可以用英文做。它奏效了。
  • 好的。 4 小时来获得几百万个变量听起来比我预期的慢 3 或 4 个数量级,但如果它对你有用,那就太好了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-06
  • 1970-01-01
  • 1970-01-01
  • 2020-12-23
  • 1970-01-01
  • 2021-12-19
相关资源
最近更新 更多