【问题标题】:Pandas custom week熊猫定制周
【发布时间】:2015-12-03 07:59:53
【问题描述】:

我正在尝试为数据框定义自定义周。

我有一个带有时间戳的数据框。 我已经阅读了有关 isocalendar 的问题。虽然它完成了这项工作。这不是我想要的。

我正在尝试定义从星期五到星期四的周数。

例如:

2015 年 1 月 2 日星期五是一周的第一天。

2015 年 1 月 8 日星期四是一周的最后一天。

这将是第 1 周。

有没有办法设置自定义工作日?所以当我访问datetime 库时,我得到了我期望的结果。

df['Week_Number'] = df['Date'].dt.week

【问题讨论】:

标签: datetime python-3.x pandas


【解决方案1】:

这是一种解决方案 - 将您的日期转换为 Period,表示周四结束的周数。

In [39]: df = pd.DataFrame({'Date':pd.date_range('2015-1-1', '2015-12-31')})

In [40]: df['Period'] = df['Date'].dt.to_period('W-THU')

In [41]: df['Week_Number'] = df['Period'].dt.week

In [44]: df.head()
Out[44]: 
        Date                Period  Week_Number
0 2015-01-01 2014-12-26/2015-01-01            1
1 2015-01-02 2015-01-02/2015-01-08            2
2 2015-01-03 2015-01-02/2015-01-08            2
3 2015-01-04 2015-01-02/2015-01-08            2
4 2015-01-05 2015-01-02/2015-01-08            2

请注意,它遵循与日期时间相同的约定,其中第 1 周可能是不完整的,因此如果您希望 1 成为第一个完整的周,您可能需要做一些额外的修改。

【讨论】:

    猜你喜欢
    • 2014-10-04
    • 2021-07-03
    • 1970-01-01
    • 2022-10-16
    • 2017-12-30
    • 2018-07-24
    • 1970-01-01
    • 2021-07-18
    • 2020-08-25
    相关资源
    最近更新 更多