python怎么根据日期得到星期,python计算给定的日期的星期
在Python的数据分析中,也需要按日期分组汇总,比如会发现销售的周期性规律。本文将以2022-02-22为例,演示Python获取指定日期为“星期几”的六种方法。有需要可以参考一下。
00-1010 WEEKDAY()ISO WEEKDAY()strfTime()calendarendlumpandas在Python中进行数据分析时,还需要按日期分组汇总,比如你会发现销售的周期性规律。
然后,在使用Python进行数据统计之前,需要增加一个额外的步骤:从指定的日期获取星期几。比如2022年2月22日,正好是星期二,正月二十二,所以这一天登记结婚的人特别多。本文以2022-02-22为例,演示了Python获取指定日期的“星期几”的六种方法!
目录
Datetime模块是Python内置库,不需要安装pip。它不仅可以显示日期和时间,还可以计算和格式化日期和时间。
datetime模块中的weekday()方法可以用来检索一周中的某一天,结果返回一个0到6之间的整数,表示“星期一”到“星期日”。
在交互环境中输入以下命令:
fromdatetimeimportdatetime
datetime.date(2022,2,22)。工作日()
输出:
一个
在代码中,datetime模块首先将由年、月和日组成的日期转换为datetime日期。然后weekday()方法得到“2022-02-22”。今天是星期二。
但是按照我们国内的习惯,不能直接输出1。所以我们可以先定制一个包含中文“星期几”的列表,然后通过索引返回一个中文的星期几。
在交互环境中输入以下命令:
Week_list=[星期一,星期二,星期三,星期四,星期五,星期六,星期日]
week_list[datetime.date(2022,2,22)。weekday()]
输出:
星期二
结果直接就是周二了。
weekday()
isoweekday()方法的工作方式类似于前面的weekday()方法。最大的区别是它返回一个1到7之间的整数,用来表示“星期一”到“星期日”。
在交互环境中输入以下命令:
导入日期时间
datetime.date(2022,2,22)。等工作日()
输出:
2
这个输出的结果直接是“星期二”。
isoweekday()
如果想直接输出日期的英文星期名,可以试试strftime()方法。
strftime()方法可用于将datetime对象显示为字符串。其实我们对日期格式到字符串格式的转换非常熟悉,比如strftime( % b-% m-% y % h :% m :% s )。只需将指令更改为%A即可获得星期几。
在交互环境中输入以下命令:
导入日期时间
datetime.date(2022,2,22)。strftime(“% A”)
输出:
星期二
如果代码中的%A被更改为%a,则
输出的是星期几的简写。
datetime.date(2022, 2, 22).strftime("%a")
输出:
'Tue'
calendar
在Python中calendar
日历模块也是一个内置库,为我们对日历做处理提供了很多方法,使用起来非常方便,我们可以使用它制作日历/周历等等。同样,它也提供了weekday()
和day_name()
方法来查询指定日期是星期几。
在交互式环境中输入如下命令:
import calendarcalendar.weekday(2022, 2, 22)
输出:
1
这与前文第一个方法的datetime
模块weekday()
方法是一模一样的。
如果你想直接输出日期的英文周名,calendar
日历模块也有方法可以实现。
import datetimeimport calendar
date_week = datetime.date(2022, 2, 22).weekday()
calendar.day_name[date_week]
输出:
'Tuesday'
pendulum
datetime模块也有一些限制,比如处理时区问题等等。而pendulum
模块是这个第三方开源库,可以解决内置datetime模块的所有问题。
https://pypi.org/project/pendulum/
当然,它也有方法可以输出指定日期是星期几。
在交互式环境中输入如下命令:
import pendulumpendulum.parse(2022-02-22).day_of_week
输出:
2
输出的结果直接是星期2。
Pandas
最后,最后,我要说一个自己最常用的方法。因为小五平时主要在Pandas中处理数据,那么生成星期列肯定会优先考虑Pandas中的方法。
Series.dt
可用于以datetimelike的形式访问序列的值并返回几个属性。Series.dt.day_name()
函数返回具有指定语言环境的DateTimeIndex的日期名称。
在交互式环境中输入如下命令:
import pandas as pdfrom datetime import datetime
df = pd.DataFrame({
"name": ["张三", "李四", "朱五"],
"date": [datetime(2022, 2, 21), datetime(2022, 2, 22), datetime(2022, 2, 23)]})
df
输出如下图所示:
df["week_num1"] = df["date"].dt.dayofweekdf["week_num2"] = df["date"].dt.weekday
df["week_name"] = df["date"].dt.day_name()
df
输出如下图所示:
到此这篇关于Python获取指定日期是"星期几"的6种方法的文章就介绍到这了,更多相关Python指定日期内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。