【问题标题】:how to iterate on timestamp with given frequency in python如何在python中以给定频率迭代时间戳
【发布时间】:2021-10-30 04:38:50
【问题描述】:

我有一个参考日期:时间戳('1992-10-01 00:00:00')和频率与'MS'。我正在尝试以给定的频率围绕这个参考日期进行迭代。

示例 1:

Timestamp('1992-10-01 00:00:00') with 1-'MS' back: Timestamp('1992-09-01 00:00:00')

示例 2:

Timestamp('1992-10-01 00:00:00') with 2'MS' after: Timestamp('1992-12-01 00:00:00')

有没有pythonic的方法可以做到这一点?

【问题讨论】:

    标签: python pandas timestamp


    【解决方案1】:

    如果使用每月频率(不是固定频率),您最好转换为期间。例如

    pd.Period(pd.Timestamp("1992-10-01"), freq="M") - 1
    

    给你

    Period('1992-09', 'M')
    

    如果你需要转换回来,句号有一个.to_timestamp()函数

    您还可以找到pandas.date_range 方便,例如

    pd.date_range("1992-10-01", freq="MS", periods=5)
    

    或等效的句点pandas.period_range

    【讨论】:

    • 我将 pd.Period 与“MS”一起使用,不幸的是它给出了一个错误。你有什么建议吗?
    • “MS”是问题所在 - 它只是带有句点的“M”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-24
    • 2014-11-24
    • 2016-05-02
    • 1970-01-01
    相关资源
    最近更新 更多