Python从特定日期提取周数

Posted

技术标签:

【中文标题】Python从特定日期提取周数【英文标题】:Python extract a week number from the specific date 【发布时间】:2017-07-25 15:53:46 【问题描述】:

我想从熊猫数据框中的数据中提取周数,但从特定日期开始。

例如从 4 月 4 日开始:

20/04/2010 --> 1

27/04/2010 --> 2

04/05/2010 --> 3

等等..

有什么想法吗?

提前谢谢你!

【问题讨论】:

你可以尝试从那年年初开始计算天数,然后除以 7。我不确定它是否总是给出正确的数字。 一周是从指定日期开始还是从指定日期一周的第一天开始? 从指定日期开始。 【参考方案1】:

如果日期列还不是日期时间格式,请使用 pandas to_datetime 解析它。

http://pandas.pydata.org/pandas-docs/stable/generated/pandas.to_datetime.html

然后使用日期时间方法 weekday。

https://docs.python.org/2/library/datetime.html

my_dataframe['week_nums'] = pandas.to_datetime(my_dataframe['date_col']).weekday()

抱歉,我看到您想要从特定日期开始的工作日,将更新答案...很容易计算两个日期之间的差异。

【讨论】:

谢谢!但这显示了从 1 月 1 日开始的周数.. :/【参考方案2】:

只需计算 2 个日期之间的天数差,除以 7 并加 1:

from datetime import date

origin = date(2010, 4, 20)

def week_number_from(my_date, origin):
    return (my_date - origin).days / 7 + 1

【讨论】:

@Giada 如果这回答了您的问题,请考虑通过点击绿色复选标记来投票并选择它作为您选择的答案。

以上是关于Python从特定日期提取周数的主要内容,如果未能解决你的问题,请参考以下文章

Teradata SQL 周数 - 从 1 月 1 日开始的第 1 周,周数与一周中的特定日期对齐

从Python中的ISO周数获取日期[重复]

使用 PHP 从日期(月)确定周数

怎么取两个日期之间的周数

Redshift:提取给定星期和年份的星期六日期

从日期获取周数到下拉列表中