>> t = pd.Timestamp('2018-6-6', freq='W-FRI') -6ren">
gpt4 book ai didi

python - "Resample"根据其频率的时间戳

转载 作者:太空宇宙 更新时间:2023-11-04 00:16:38 24 4
gpt4 key购买 nike

我有一个 pandas Timestamp 与日期时间和频率相关联。但是,日期时间似乎与频率无关。例如,

>>> t = pd.Timestamp('2018-6-6', freq='W-FRI')
>>> t
Timestamp('2018-06-06 00:00:00')

2018 年 6 月 6 日不是星期五。如何从此 Timestamp 获取 2018 年 6 月 1 日(上周五)? (如果 Timestamp 是 2018 年 6 月 1 日,那么它应该返回 2018 年 6 月 1 日。)以下工作但似乎过于冗长。

>>> friday = (pd.date_range(t + pd.Timedelta('1D'), 
periods=1,
freq='W-FRI')
- 1)[0]
>>> friday
Timestamp('2018-06-01 00:00:00', freq='W-FRI')

最佳答案

或者 如果已经是星期五 (4),我们可以使用 if 语句不移动日期。感谢 @Ben.T,我们可以将它与定义的 freq-weekday 进行比较,从而使其更通用一些。

import pandas as pd

t = pd.Timestamp('2018-6-7', freq='W-FRI')
friday = t if t.weekday() == t.freq.weekday else t-1

print(friday)

返回:

2018-06-01 00:00:00

关于python - "Resample"根据其频率的时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50727668/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com