python pandas 怎么判断一天是否为工作日+计算距离特定时间之间的天数

本文实现:
①计算距离特定时间之间的天数。
②时间是否为工作日。

准备数据:
数据采用的是一个平台的登录数据,包含登录的时间。
任务的要求是:选取用户最近的登录时间,同时判断距2020,6,18的天数有多少天。
同时需要区分是否为工作日登录。

导入数据


import pandas as pd

from chinese_calendar import is_workday, is_holiday,is_in_lieu
data=pd.read_csv(r'C:\Users\yunmen\Desktop\login.csv',sep=',',encoding='gbk')

python pandas 怎么判断一天是否为工作日+计算距离特定时间之间的天数

①计算距离特定时间之间的天数

将日期的数据格式进行转化

data['login_time']=pd.to_datetime(data['login_time'])

将dataframe进行按照用户ID进行分组,同时分组后的数据采用的是最大值(这样就可以实现:选取用户最近的登录时间)

tem_day=pd.to_datetime('2020-06-18 00:00:00 ' )
da=data.groupby('user_id').max()

计算计算距离2020,6,18的天数有多少天。

da['losing_day']=tem_day-da['login_time']
da['losing_day']=[i.days  for i in da['losing_day'].to_list()]

结果如下图:

python pandas 怎么判断一天是否为工作日+计算距离特定时间之间的天数

②判断日期是否为工作日
chinese_calendar模块的is_workday函数可以判断一天是否为工作日

采用的测试数据为20210501-20210531

import pandas as pd
from chinese_calendar import is_workday

date_one=pd.date_range('20210501','20210531')

a=pd.DataFrame()
a['date']=date_one
a['date'].map(lambda x:is_workday(x))
a['is_workday']=a['date'].map(lambda x:is_workday(x))

python pandas 怎么判断一天是否为工作日+计算距离特定时间之间的天数
2021国务院发布的假期日安排:
劳动节:5月1日至5日放假调休,共5天。4月25日(星期日)、5月8日(星期六)上班。
和结果的2021.5.8日为True说明为工作日上班,与规定相符。

Original: https://blog.csdn.net/m0_52985451/article/details/120874239
Author: 云梦之上
Title: python pandas 怎么判断一天是否为工作日+计算距离特定时间之间的天数

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/677695/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球