计算两列数据的时间差,按天数返回。

源数据的格式如下:

为防止两列出现空值情况,先对其进行空值填充(可选)

# 时间空值填充
time=date(2000,1,1)
data[["l_call_time3","l_call_time2"]]=data[["l_call_time3","l_call_time2"]].fillna(time)

调用pandas.to_datetime()函数将数据转换为日期时间,再进行时间差计算。

data["l_call_time23"]=pd.to_datetime(data["l_call_time2"])-pd.to_datetime(data["l_call_time3"])

处理后的数据形式如下:

再提取days之前的数据:

# 提取days之前的数
data["l_call_time23"]=data["l_call_time23"].map(lambda x:x.days)

处理后数据形式:

pd.to_datetime参数介绍

#参数如下
pd.to_datetime(arg, errors='raise', dayfirst=False, yearfirst=False, utc=None, box=True, format=None, exact=True, unit=None, infer_datetime_format=False, origin='unix', cache=True)

参数:

(1)arg:int,float,str,datetime,list,tuple,1-d数组,Series,DataFrame / dict-like,要转换为日期时间的对象

(2)errors:{'ignore','raise','coerce'},默认为'raise'

  • 如果为“ raise”,则无效的解析将引发异常
  • 如果为“coerce”,则将无效解析设置为NaT
  • 如果为“ ignore”,则无效的解析将返回输入

(3)dayfirst:bool,默认为False,

  • 如果arg是str或类似列表,则指定日期解析顺序。
  • 如果为True,则首先解析日期,例如12/10/11解析为2011-10-12。
  • 警告:dayfirst = True并不严格,但更喜欢使用day first进行解析(这是一个已知的错误,基于dateutil的行为)

(4)yearfirst:布尔值,默认为False,

  • 如果arg是str或类似列表,则指定日期解析顺序。
  • 如果True解析日期以年份为第一,则将10/11/12解析为2010-11-12。
  • 如果dayfirst和yearfirst均为True,则在yearfirst之后(与dateutil相同)。
  • 警告:yearfirst = True并不严格,但更喜欢使用year first进行解析(这是一个已知的错误,基于dateutil的行为)。

(5)utc: bool,默认值 None,如果为True,则返回UTC DatetimeIndex(也转换任何支持tz的datetime.datetime对象)

(6)format:str,格式,default None,解析时间的strftime,例如“%d /%m /%Y”,请注意,“%f”将一直解析直至纳秒。有关选择的更多信息,请参见strftime文档:https : //docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior。

(7)exact:精度,bool:True by default,表现为:如果为True,则需要精确的格式匹配。如果为False,则允许格式匹配目标字符串中的任何位置。

(8)unit: str,单位,default ‘ns’,arg的单位(D,s,ms,us,ns)表示单位,它是整数或浮点数。这将基于原点。例如,在unit ='ms'和origin ='unix'(默认值)的情况下,这将计算到unix纪元开始的毫秒数

(9)infer_datetime_format:bool,默认为False,如果为True且未给出格式,请尝试根据第一个非NaN元素推断日期时间字符串的格式,如果可以推断出日期时间字符串的格式,请切换到解析它们的更快方法。在某些情况下,这可以使解析速度提高约5-10倍。

(10)origin:标量, default ‘unix’,

定义参考日期。自该参考日期以来,数值将被解析为单位数(由unit定义)。

  • 如果是“ unix”(或POSIX)时间;原点设置为1970-01-01。
  • 如果为'julian',则单位必须为'D',并且原点设置为Julian Calendar的开头。朱利安天数0被指定为从4713年1月1日中午开始的那一天。
  • 如果时间戳可转换,则将原点设置为由原点标识的时间戳。

(11)cache:布尔值,默认为True

如果为True,则使用唯一的转换日期缓存来应用datetime转换。解析重复的日期字符串时,尤其是带有时区偏移的日期字符串时,可能会大大提高速度。仅当至少有50个值时才使用缓存。越界值的存在将使高速缓存不可用,并可能减慢解析速度
0.23.0版中的新功能。在0.25.0版中进行了更改: -将默认值从False更改为True。

返回值:

datetime

如果解析成功。返回类型取决于输入:

  • list-like: DatetimeIndex

  • Series: Series of datetime64 dtype

  • scalar: Timestamp

如果无法返回指定的类型(例如,当输入的任何元素在Timestamp.min之前或Timestamp.max之后),则返回将具有datetime.datetime类型(或对应的数组/系列)。

pandas数据处理——时间差计算相关推荐

  1. pandas库时间差计算

    对于excel中时间表示是如下形式的问题(日期-时间),计算两者之间的时间间隔通常比较麻烦,利用R语言的as.Date()进行转换时发现难以同时保留日期和时间. 因此可以利用pandass中的pd.t ...

  2. 12 个 Pandas 数据处理高频操作

    作者 | 老表 来源 | 简说Python 今天给大家分享几个自己近期常用的Pandas数据处理技巧,主打实用,所以你肯定能用的着,建议扫一遍,然后收藏起来,下次要用的时候再查查看即可. 简单说说 总 ...

  3. pandas数据处理 代码_使用Pandas方法链接提高代码可读性

    pandas数据处理 代码 We have been talking about using the Pandas pipe function to improve code readability. ...

  4. pandas数据处理120题

    1.DataFrame基本操作 import numpy as np import pandas as pd import matplotlib.pyplot as plt 1.将下面的字典创建为Da ...

  5. 轩小陌的Python笔记-Pandas 数据处理

    Pandas 数据处理 一.数据IO操作 pandas IO操作主要是读取和写入有特定格式的文件,如CSV文件.TXT文件: # 本质上pd.read_csv和pd.read_tablepd.read ...

  6. php 里如何进行时间比较,PHP实现时间比较和时间差计算的方法示例

    本文实例讲述了PHP实现时间比较和时间差计算的方法.分享给大家供大家参考,具体如下: 示例1: //PHP时间比较和时间差计算: //(1).比较两个绝对时间的大小 header("Cont ...

  7. Oracle 时间差计算

    GPS平台.网站建设.软件开发.系统运维,找森大网络科技! https://cnsendnet.taobao.com 来自森大科技官方博客 http://www.cnsendblog.com/inde ...

  8. Python时间差计算

    Python时间差计算 一.获取当前时间 使用datatime库 import time from datetime import datetime# 格式化成2016-03-20 11:45:39形 ...

  9. QT时间差计算的两种方法代码

    QT时间差计算的两种方法 提供两种方法,直接贴出代码供参考,主要用到函数secsTo,toTIme_t(): #include <qdatetime.h>#include <wind ...

最新文章

  1. CMake结合PCL库学习(1)
  2. jq选中单选框后文本框不可编辑_打开速度最快最强大的PDF免费工具,编辑+阅读功能一体...
  3. jdk下载:各历史版本下载地址
  4. Chrome浏览器里的-webkit-focus-ring-color
  5. 通过 Service 访问 Pod - 每天5分钟玩转 Docker 容器技术(136)
  6. 这类程序员,钱包要鼓了!
  7. 与时俱进的治疗策略不断提高RA无药缓解机会[EULAR2015_SAT0058]
  8. 【学习笔记】【OC语言】继承
  9. PLSQL注册码(永久可用)
  10. 水晶报表for java_水晶报表(crystal reports)--java
  11. 定时器之多层级时间轮
  12. 学习笔记——使用HiveSql建表
  13. Rust语言编程实例100题-036
  14. 堆栈c语言 矩形填色,堆栈涂色官方版下载|堆栈涂色安卓版v0.1下载 - 一游网手机游戏...
  15. python豆瓣镜像_pip使用豆瓣的镜像源
  16. 思维题:三个箱子,一个只装苹果,一个只装橙,另一个装苹果和橙,请问?
  17. 基于SSM高校教室管理系统毕业设计-附源码181523
  18. oracle显示连接超时,Oracle 12179:tns:连接超时的问题
  19. 2020 新的一年加油!
  20. mysql myisam表分区_MySQL 表分区详解MyiSam引擎和InnoDb 区别(实测)

热门文章

  1. 基于golang的智能物联网网关的设计论文
  2. 在css中自定义字体
  3. 正文双栏,尾注只占页面半边
  4. 智能手环五大主流MEMS传感器盘点
  5. <HTTP权威指南>万字解读
  6. Westrock Coffee拟曲线上市:作价11亿美元 路演PPT曝光
  7. 深度学习系统中的log问题
  8. 图片选中打钩样式 vue
  9. 思创易控cetron-思创MS5000系列打造中南商务大厦智慧办公全网覆盖
  10. 各种解析度的水平及垂直参数的参考设置