python 查询周数 week number
python里面查询某一天所处的周数week number时,有比较多的方法,
自己觉得下面这个方法特别棒,在一些方面的处理非常合理。
每年的最后一天必然是12月31日,是12月的最后一天,但这天不一定是这年最后一个周的最后一天,不一定是周日。
如果去年最后一天是周中某一天,那么今年第一天是连续着去年最后一个周的。
matlab里面的week number函数将每年的第一天的week number都设置成1,不管这第一天是不是周一,还是除了周一的某一天。这个在某些问题,比如,获得某个时间序列的每周的最后一天和第一天时候就有难题。但是python很好的化解了这个问题。
python里面,如果今年的第一天不是周一,那么这第一天依然是去年最后一个周的延续,week number都设置成0。当今年的第一个周一出现时候,这天开始的未来7天的week number才是1。
而且在python这个函数里面,周一是某个周的第一天,而不像matlab,除非专门设置,不然周日才是一个周的第一天。
2018年1月1号是周一,所以这天的week number就是1,而2015、2016、2017年的第一天都不是周一,所以这天到当年的周日,其week number都是0。
那么2015-2017年的最后一天,12月31号的周数肯定是52,而2018年的是53。因为一年的总天数是365或者366,就是52个整周加上1天或者2天。
虽然每年的最后一天和第一天的数字不一样,但是week number的序列的长度是一样的,比如2015-2017年间是00-52,而2018年是01-53,长度都是53。matlab那样的设置,week number的序列的长度,每年都是不一样的。
看到00的瞬间,哈哈,觉得爱上python了。LIFE IS SHORT, I USE PYTHON.
strftime函数,W是问week number, A是查周几的,w返回的是周几的数字,大小写W可能容易混淆。
import pandas as pd
datesList = ["2015-01-01", "2015-01-04","2015-01-05","2015-12-31", "2016-01-01", "2016-12-31", "2017-01-01", "2017-12-31", "2018-01-01", "2018-01-07", "2018-01-08", "2018-12-31"]
datesPD = pd.DataFrame(datesList)
datesPD[1] = pd.to_datetime(datesList).strftime("%W") #所处的周是今年第几周
datesPD[2] = pd.to_datetime(datesList).strftime("%A") #查询周几,返回英文
datesPD[3] = pd.to_datetime(datesList).strftime("%w") #查询周几,返回数字
datesPD[4] = ["", "周日不是第一天","周一是第一天", "最后一天是第52周的","", "", "", "", "第一天是周一", "", "", "最后一天是第53周的"]
datesPD.columns = ["dates", "weekNum", "weekDay", "weekDayNum","NOTE"]
dates weekNum weekDay weekDayNum NOTE
0 2015-01-01 00 Thursday 4
1 2015-01-04 00 Sunday 0 周日不是第一天
2 2015-01-05 01 Monday 1 周一是第一天
3 2015-12-31 52 Thursday 4 最后一天是第52周的
4 2016-01-01 00 Friday 5
5 2016-12-31 52 Saturday 6
6 2017-01-01 00 Sunday 0
7 2017-12-31 52 Sunday 0
8 2018-01-01 01 Monday 1 第一天是周一
9 2018-01-07 01 Sunday 0
10 2018-01-08 02 Monday 1
11 2018-12-31 53 Monday 1 最后一天是第53周的
python 查询周数 week number相关推荐
- mysql查询周数_MySQL如何获取一个指定日期所对应本年度的周数(WEEK函数)呢?
摘要: 下文讲述MySQL数据库中获取指定日期对应的本年的周数信息的方法分享,如下所示: 实现思路: 采用week系统函数即可获取指定日期在日期所在年度的周数信息 week系统函数语法说明: week ...
- python通过周数得到日期_Python-使用日期创建周数的月数列表 - python
我有一个开始日期('2019-11-18')和一个结束日期('2021-02-19').我正在尝试创建开始日期和结束日期之间每个月所有星期的列表.我的预期结果应该是这样的: list = ['2019 ...
- mysql查询周数_MySQL:查询中从周数开始的周日期范围
我有一个数据库表,看起来像这样: | id | clock | info ---------------------------------------------- | 1 | 1262556754 ...
- Python:猜数(number guess)
1-10内随机产生自然数进行猜数: import random n =random.randint(0,10) while True :user_guess=int (input ("Inp ...
- python代码根据时间获取周数(week of the year)
python代码根据时间获取周数(week of the year) # 使用python获取当前是当年的第多少周 import time import datetime # 获取今天是第几周 pri ...
- python获取时间周数_【手把手教你】Python量化策略风险指标
如何衡量一个量化策略的好坏?一是比较稳定的收益,二是有严谨的回测,三是有清晰的逻辑.--刘富兵 引言 引言尽管过去不能代表未来,通过历史回测来评估量化策略仍然是量化投资非常重要的一环.量化回测过程中常 ...
- MySQL查询日期为一年第几天第几周,天数周数反查日期
*特别说明:本文以周一为一周的起始 MAKEDATE(year,dayofyear) 返回的日期,给定年份和天 - 年值. dayofyear必须大于0,否则结果为NULL. 如果该"周&q ...
- oracle如何查当前日期所在周,Oracle查询当前日期对应周数
在Oracle中查询当前日期对应的SQL oracle常见的日期格式有Date & Timestamp 其中Data常用的格式为:YYYY-MM-DD HH24-MI-SS 其中Timesta ...
- python查询最高分_精通 Oracle+Python,第 1 部分:查询最佳应践
作者:Przemyslaw Piotrowski 首先,熟悉 Oracle-Python 连接性的基本概念 2007 年 9 月发布 参见系列目录 在 Python 做事方式的核心原则中,有一个规定是 ...
最新文章
- INSTALL_FAILED_MISSING_SHARED_LIBRARY + Installation failed due to: ‘null‘
- JAVA SE学习day_03:包装类、文件操作——file
- Linux和Windows文件系统
- Mybatis缓存配置
- 2021 .NET 开发者峰会顺利在网上落幕,线上直播回看汇总
- 【POJ-3259】 Wormholes(判负环,spfa算法)
- 【spider】Tesseract机器视觉实现验证码识别
- ASP.NET小收集:Word的编码是Unicode
- 使用ML.Net和C#进行机器学习
- MATLAB中ASCII码的举例
- bash脚本基础知识
- MySQL有sqldependency_SqlDependency的局限性是什么
- MSN不显示头像怎么办?
- 水清冷冷:PS 2021 (Adobe Photoshop 2021) 安装教程和学习方法(附工具)
- Qt 加载翻译文件基本方法
- Leetcode实战:121.买卖股票的最佳时机
- Tangent Convolutions 切面卷积(切线卷积)
- 1218. 最长定差子序列【我亦无他唯手熟尔】
- 商业银行经营特点与三性原则:安全性、流动性、盈利性
- Latex 打勾 打叉