pandas数据处理——时间差计算
计算两列数据的时间差,按天数返回。
源数据的格式如下:
为防止两列出现空值情况,先对其进行空值填充(可选)
# 时间空值填充
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数据处理——时间差计算相关推荐
- pandas库时间差计算
对于excel中时间表示是如下形式的问题(日期-时间),计算两者之间的时间间隔通常比较麻烦,利用R语言的as.Date()进行转换时发现难以同时保留日期和时间. 因此可以利用pandass中的pd.t ...
- 12 个 Pandas 数据处理高频操作
作者 | 老表 来源 | 简说Python 今天给大家分享几个自己近期常用的Pandas数据处理技巧,主打实用,所以你肯定能用的着,建议扫一遍,然后收藏起来,下次要用的时候再查查看即可. 简单说说 总 ...
- pandas数据处理 代码_使用Pandas方法链接提高代码可读性
pandas数据处理 代码 We have been talking about using the Pandas pipe function to improve code readability. ...
- pandas数据处理120题
1.DataFrame基本操作 import numpy as np import pandas as pd import matplotlib.pyplot as plt 1.将下面的字典创建为Da ...
- 轩小陌的Python笔记-Pandas 数据处理
Pandas 数据处理 一.数据IO操作 pandas IO操作主要是读取和写入有特定格式的文件,如CSV文件.TXT文件: # 本质上pd.read_csv和pd.read_tablepd.read ...
- php 里如何进行时间比较,PHP实现时间比较和时间差计算的方法示例
本文实例讲述了PHP实现时间比较和时间差计算的方法.分享给大家供大家参考,具体如下: 示例1: //PHP时间比较和时间差计算: //(1).比较两个绝对时间的大小 header("Cont ...
- Oracle 时间差计算
GPS平台.网站建设.软件开发.系统运维,找森大网络科技! https://cnsendnet.taobao.com 来自森大科技官方博客 http://www.cnsendblog.com/inde ...
- Python时间差计算
Python时间差计算 一.获取当前时间 使用datatime库 import time from datetime import datetime# 格式化成2016-03-20 11:45:39形 ...
- QT时间差计算的两种方法代码
QT时间差计算的两种方法 提供两种方法,直接贴出代码供参考,主要用到函数secsTo,toTIme_t(): #include <qdatetime.h>#include <wind ...
最新文章
- CMake结合PCL库学习(1)
- jq选中单选框后文本框不可编辑_打开速度最快最强大的PDF免费工具,编辑+阅读功能一体...
- jdk下载:各历史版本下载地址
- Chrome浏览器里的-webkit-focus-ring-color
- 通过 Service 访问 Pod - 每天5分钟玩转 Docker 容器技术(136)
- 这类程序员,钱包要鼓了!
- 与时俱进的治疗策略不断提高RA无药缓解机会[EULAR2015_SAT0058]
- 【学习笔记】【OC语言】继承
- PLSQL注册码(永久可用)
- 水晶报表for java_水晶报表(crystal reports)--java
- 定时器之多层级时间轮
- 学习笔记——使用HiveSql建表
- Rust语言编程实例100题-036
- 堆栈c语言 矩形填色,堆栈涂色官方版下载|堆栈涂色安卓版v0.1下载 - 一游网手机游戏...
- python豆瓣镜像_pip使用豆瓣的镜像源
- 思维题:三个箱子,一个只装苹果,一个只装橙,另一个装苹果和橙,请问?
- 基于SSM高校教室管理系统毕业设计-附源码181523
- oracle显示连接超时,Oracle 12179:tns:连接超时的问题
- 2020 新的一年加油!
- mysql myisam表分区_MySQL 表分区详解MyiSam引擎和InnoDb 区别(实测)