当前位置: 首页 > 科技观察

超饱!Python六种获取某个日期的方法就是“星期几”!

时间:2023-03-20 20:59:59 科技观察

在用Python进行数据分析时,还需要按日期进行分组汇总,例如求销售的周期性。那么,在使用Python进行数据统计之前,还需要多一步:获取指定日期是星期几。比如2022年2月22日,也恰好是正月二十二,所以这一天登记结婚的人很多。本文以2022-02-22为例,演示Python获取指定日期“星期几”的6种方法!weekday()datetime模块是一个Python内置库,不需要用pip安装。除了显示日期和时间,它还可以进行日期和时间的计算和格式化。datetime模块中的方法weekday()可以用来获取星期几,结果返回一个0-6之间的整数,用来表示“周一”到“周日”。在交互环境中输入以下命令:fromdatetimeimportdatetimedatetime.date(2022,2,22).weekday()输出:1代码中,datetime模块首先会将年月日组成的日期转换为日期时间日期。然后weekday()方法获取星期二的“2022-02-22”。但是按照我们国内的习惯,是不能直接输出1的。所以我们可以先自定义一个包含中文“星期几”的列表,然后通过索引返回一个中文的星期几。在交互环境中输入以下命令:week_list=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]week_list[datetime.date(2022,2,22).weekday()]output:'Tuesday'这样结果直接就是星期二了。isoweekday()isoweekday()方法的工作原理与前面的weekday()方法类似,最大的区别是它返回一个1-7之间的整数,用于表示“星期一”到“星期日”。在交互环境中输入以下命令:importdatetimedatetime.date(2022,2,22).isoweekday()output:2这样输出的结果直接就是“week2”。strftime()如果想直接输出日期的英文周名,试试strftime()方法。可以使用strftime()方法将日期时间对象显示为字符串。将日期格式转换成字符串格式我们其实已经很熟悉了,比如strftime('%b-%m-%y%H:%M:%S'),只要把命令改成%A就可以得到日期是星期几。在交互式环境中输入以下命令:importdatetimedatetime.date(2022,2,22).strftime("%A")Output:'Tuesday'如果将代码中的%A改为%a,则输出为星期几个的简写。datetime.date(2022,2,22).strftime("%a")output:Python中的'Tue'calendar,calendar模块也是一个内置的库,它提供了很多方法供我们处理日历,其中使用起来非常方便,我们可以用它来制作日历/周历等。同样,它也提供了weekday()和day_name()方法来查询指定日期是星期几。在交互式环境中输入以下命令:importcalendarcalendar.weekday(2022,2,22)输出:1这与上面第一种方法的datetime模块weekday()方法完全一样。如果想直接输出日期的英文周名,calendar模块也有实现的方法。importdatetimeimportcalendardate_week=datetime.date(2022,2,22).weekday()calendar.day_name[date_week]output:'Tuesday'pendulumdatetime模块也有一些限制,比如处理时区问题等等。pendulum模块就是这个第三方开源库,可以解决内置datetime模块的所有问题。https://pypi.org/project/pendulum/当然它也有输出指定日期是星期几的方法。在交互环境中输入如下命令:importpendulumpendulum.parse('2022-02-22').day_of_weekoutput:2输出结果直接为“week2”。Pandas最后,最后,想说说我最常用的一个方法。因为小武平时在Pandas中处理数据,所以生成“week”列肯定会优先使用Pandas中的方法。Series.dt可用于以datetimelike形式访问系列的值并返回几个属性。Series.dt.day_name()函数返回具有指定区域设置的DateTimeIndex的日期名称。在交互环境中输入以下命令:importpandasaspdromdatetimeimportdatetimedf=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.weekdaydf["week_name"]=df["date"].dt.day_name()df输出如下图:在今天的文章中,我们一共有介绍6种方法来获取指定日期的星期几。希望我的分享对你有所帮助。文末的小伙伴,离开前请在右下角点个赞哦~