如何将日期转换为Alteryx或Python中的第n天?



如果我有一个像下面这样的日期列;

Date
2021-08-01
2021-08-02
2021-08-03
2021-08-01
2021-08-02

我想要做的是添加一个新列,它将告诉我星期一的个数,例如该日期在一年中。

所以我可以看到,对于第一个记录,8月1日是一个星期天,是这一年的第31个星期天,而12日是一个星期四,是这一年的第32个星期四。

Date        Number Of WeekDay in Year
2021-08-01            31
2021-08-02            31
2021-08-03            31
2021-08-12            32
...                ...

如果它使它更容易有一种方法来做它使用python工具在Alteryx?

johnjps111的答案解释了这一切,但这里有一个仅使用python(不使用alteryx)的实现:

import math
from datetime import datetime
def get_weekday_occurrences(date_string):
year_day = datetime.strptime(date_string, '%Y-%m-%d').timetuple().tm_yday
return math.ceil(year_day / 7)

可以这样使用:

get_weekday_occurrences('2021-08-12')

注意我们使用了datetime。timetuple获取一年中的日期(tm_yday)。

对于Alteryx,尝试公式Ceil(DateTimeFormat([date],'%j') / 7)…解释:不管星期几,如果是一年的第一天,它也是那个工作日的第一天。这一年……在第8天,它变成了那个工作日的第2天。年份,等等。既然Alteryx给出了"一年中的哪一天";免费使用给定的DateTimeFornat函数,然后是一个简单的除法和Ceil()函数。

从日期字符串中获取一年中的星期:

from datetime import datetime
a = '2021-08-02'
b = datetime.fromisoformat(a)
print('week of the year:', b.strftime('%W'))

输出:

week of the year: 31

有关datetime的更多信息:link

相关内容

  • 没有找到相关文章

最新更新