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

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

例如从 4 月 4 日开始:

20/04/2010 --> 1

27/04/2010 --> 2

04/05/2010 --> 3

等等..

有什么想法吗?

提前谢谢你!

【问题讨论】:

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

标签: python pandas


【解决方案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 如果这回答了您的问题,请考虑通过点击绿色复选标记来投票并选择它作为您选择的答案。
猜你喜欢
  • 1970-01-01
  • 2016-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多