python pandas模块计算时间差(排除非工作日)
所需调用以下包

import numpy as np
import pandas as pd
import csv
import datetime
from dateutil.parser import parse

1.读取csv文件
shixiao_data = pd.read_csv(’/soft/data/case_data/shixiao_test.csv’,encoding=‘gbk’)
2.创建非工作日日期集合
nonworkday = [‘2020-01-01’, ‘2020-01-04’, ‘2020-01-05’, ‘2020-01-11’, ‘2020-01-12’, ‘2020-01-18’, ‘2020-01-24’, ‘2020-01-25’, ‘2020-01-26’, ‘2020-01-27’, ‘2020-01-28’, ‘2020-01-29’, ‘2020-01-30’, ‘2020-02-02’, ‘2020-02-08’, ‘2020-02-09’, ‘2020-02-15’, ‘2020-02-16’, ‘2020-02-22’, ‘2020-02-23’, ‘2020-02-29’, ‘2020-03-01’, ‘2020-03-07’, ‘2020-03-08’, ‘2020-03-14’, ‘2020-03-15’, ‘2020-03-21’, ‘2020-03-22’, ‘2020-03-28’, ‘2020-03-29’, ‘2020-04-04’, ‘2020-04-05’, ‘2020-04-06’, ‘2020-04-11’, ‘2020-04-12’, ‘2020-04-18’, ‘2020-04-19’, ‘2020-04-25’, ‘2020-05-01’]
3.计算某一段时间非工作日个数自定义函数:
输入t1,t2,对非工作日集合进行遍历判断

def nonworkday_cnt(created_time, last_second_audit_time):nonworkday_set = [] create_day = created_time[:10]last_second_audit_day = last_second_audit_time[:10]for day in nonworkday:if ((day >= create_day) & (day <= last_second_audit_day)):nonworkday_set.append(day)return(len(nonworkday_set))

#到这一步可以注册udf函数,在spark中调用(spark.udf.register(‘nonworkday_cnt’,nonworkday_cnt,LongType()))

SELECT *, nonworkday_cnt(t1,t2) AS nonworkday_cnt
FROM ***

此处今天介绍纯python 处理数据
4.pandas读取csv文件
(1) lambda函数调用计算某一段时间非工作日个数自定义函数:

shixiao_data['nonworkday_cnt'] = shixiao_data['level_0'].apply(lambda x: nonworkday_cnt(shixiao_data.created_time[x], shixiao_data.last_second_audit_time[x]))

(2)计算t1,t2时间差,运用total_seconds函数实现:

shixiao_data['total_timediff'] = shixiao_data['level_0'].apply(lambda x: (parse(shixiao_data.last_second_audit_time[x]) - parse(shixiao_data.created_time[x])).total_seconds())
print(shixiao_data)

(3)排除非工作日时间差 =(总时间差 - 非工作日天数*24*60 )

shixiao_data['real_timediff'] = shixiao_data['level_0'].apply(lambda x: (shixiao_data.total_timediff[x] - shixiao_data.nonworkday_cnt[x]*24*60*60)/60/60)
print(shixiao_data)

以某一列为维度计算平均值:

shixiao_data["real_timediff_avg"] = shixiao_data['real_timediff'].mean()
print('总时效')
print(shixiao_data.real_timediff_avg[1])

That’s all,thanks!!!

python计算时间差(排除非工作日)相关推荐

  1. python计算时间差代码_Python3显示当前时间、计算时间差及时间加减法示例代码...

    Python3显示当前时间.计算时间差及时间加减法示例代码 摘要 在使用Python写程序时,经常需要输出系统的当前时间以及计算两个时间之间的差值,或者将当前时间加减一定时间(天数.小时.分钟.秒)来 ...

  2. python计算时间差

    python计算时间差 # 使用datetime 和 timedelta import datetime old_time = datetime.datetime.now() print(old_ti ...

  3. python计算时间差的方法_如何计算时间差,用Python算法的话

    这篇文章主要介绍了python计算时间差的方法,实例分析了Python时间操作的相关模块与技巧,需要的朋友可以参考下 本文实例讲述了python计算时间差的方法.分享给大家供大家参考.具体分析如下: ...

  4. Python 计算时间差

    字符串格式转换为时间格式 timekeeper[0],timekeeper[-1]为字符串格式的日期形式,如"2019-11-15 17:32:24" start = time.s ...

  5. python计算时间差_Python:计算时间差

    Table of Contents title:计算时间差 基于pandas的时间差计算 基于pandas的时间差计算.以小时为例:如a='2020-10-10 12:12:12',b='2020-1 ...

  6. python datetime计算时间差_python计算时间差的方法

    本文实例讲述了python计算时间差的方法.分享给大家供大家参考.具体分析如下: 1.问题: 给定你两个日期,如何计算这两个日期之间间隔几天,几个星期,几个月,几年? 2.解决方法: 标准模块date ...

  7. Python怎么计算时间差(含代码实例)

    Python计算时间差的方法: 首先引入datetime包:然后通过(time_2_struct - time_1_struct)方式计算出同一天情形下的时间差或者不同天的时间差即可. 代码讲解 Py ...

  8. php中计算时间差的几种方法,php计算时间差的方法

    一个简单的例子:计算借书的天数,根据每天的日期进行计算. (1) 有数据库的情况 MSSQL可以使用触发器!用专门计算日期差的函数datediff()便可. MYSQL那就用两个日期字段的差值计算的计 ...

  9. Python计算两日期之间排除节假日与非上班时间的工作时间

    Python计算两日期之间排除节假日与非上班时间的工作时间 前言 一.基本思路 二.代码示例 总结 文章目录 前言 一.基本思路 二.代码示例 总结 前言 工作中遇见需要写UDF计算事项办理时间的需求 ...

最新文章

  1. Java学习总结:28
  2. 微信小程序开发记录一,开发工具的使用
  3. 《Excel与VBA开发》一书上市时间
  4. 网民关注iPhone、Google、微软和安全
  5. 如何封装Spring bean
  6. Windows下使用net user命令管理账户
  7. 检查mysql的replication_MySQL Replication需要注意的问题
  8. 双系统还是虚拟机 linux系统时间,你会选择Mac虚拟机还是双系统
  9. 乐视android系统耗电量大,乐视手机突然充电慢耗电快,怎么解决?
  10. XXX required a bean of type ‘XXXXXXXX‘ that could not be found ,博客可帮忙找错
  11. 2021华为软挑赛题_思路分析——实时更新,做多少更多少(八)
  12. 阿里云弹性计算研发团队如何从0到1自建SRE体系
  13. BUUCTF刷题记录(持续更新中~)
  14. 2021年中国MEMS话筒市场趋势报告、技术动态创新及2027年市场预测
  15. 美国诚实签经验——回答签证官的问题时,一定要问什么才答什么,不要犹豫改口、做很多解释或开玩笑,自信且镇静地与他对话,着装得体、举止自然、言谈自信...
  16. BT-3の蓝牙技术原理のBT协议の蓝牙核心协议の链路管理协议(LMP)
  17. vue-awesome-swiper官网文档
  18. win10调节屏幕亮度
  19. 基于蜜蜂算法的函数寻优及TSP搜索算法
  20. 二维码的纠错码原理及如何纠错(2)

热门文章

  1. 【无标题】DH460钢板交货状态,DH460钢板供应
  2. 传说中的100句英语可以帮你背7000单词
  3. electron + vue /打包linux应用报错记录
  4. 如何构建基于Python的星座脚本
  5. 历史的回响:细说走西口
  6. 打怪升级之小白的大数据之旅(一)<Java基础语法之Java的身世之谜>
  7. 谷歌chrome离线安装包_Google将向手机制造商支付更多费用以立即安装Chrome
  8. ARC中__bridge, __bridge__transfer, __bridge_retained 关系
  9. Proteus仿真AT89C52——IO
  10. Windows权限设置