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从特定日期提取周数的主要内容,如果未能解决你的问题,请参考以下文章