23-Padans Timedelta时间差

Padans Timedelta时间差

Timedelta 表示时间差(或者时间增量),我们可以使用不同的时间单位来表示它,比如,天、小时、分、秒。时间差的最终的结果可以是正时间差,也可以是负时间差。

Timedelta类周期名、对应单位及其说明:

周期说明单位说明
weeks星期
daysD
hoursh小时
minutesm
secondss
millisecondsms毫秒
microsecondsμs微妙
naosecondsns纳秒

实例:

import pandas as pd
import numpy as np
empdata = pd.read_csv("C:\\Users\\qwy\\Desktop\\data\\empdata.csv")date_str =empdata.loc[:,'HIREDATE']for s  in date_str:print(f"雇佣时间:{s},雇佣后的第二天:{pd.to_datetime(s)+pd.Timedelta(days=1)}")
雇佣时间:1980-12-17,雇佣后的第二天:1980-12-18 00:00:00
雇佣时间:1981-02-20,雇佣后的第二天:1981-02-21 00:00:00
雇佣时间:1981-02-22,雇佣后的第二天:1981-02-23 00:00:00
雇佣时间:1981-04-02,雇佣后的第二天:1981-04-03 00:00:00
雇佣时间:1981-09-28,雇佣后的第二天:1981-09-29 00:00:00
雇佣时间:1981-05-01,雇佣后的第二天:1981-05-02 00:00:00
雇佣时间:1981-06-09,雇佣后的第二天:1981-06-10 00:00:00
雇佣时间:1987-04-19,雇佣后的第二天:1987-04-20 00:00:00
雇佣时间:1981-11-17,雇佣后的第二天:1981-11-18 00:00:00
雇佣时间:1981-09-08,雇佣后的第二天:1981-09-09 00:00:00
雇佣时间:1987-05-23,雇佣后的第二天:1987-05-24 00:00:00
雇佣时间:1981-12-03,雇佣后的第二天:1981-12-04 00:00:00
雇佣时间:1981-12-03,雇佣后的第二天:1981-12-04 00:00:00
雇佣时间:1982-01-23,雇佣后的第二天:1982-01-24 00:00:00

字符串

通过传递字符串可以创建 Timedelta 对象,示例如下:

print(pd.Timedelta('5 days 8 hours 6 minutes 59 seconds'))

输出结果:

5 days 08:06:59

整数

通过传递整数值和unit参数也可以创建一个 Timedelta 对象。

import pandas as pd
print(pd.Timedelta(19,unit='h'))

输出结果:

0 days 19:00:00

数据偏移量

数据偏移量, 比如,周(weeks)、天(days)、小时(hours)、分钟(minutes)、秒(milliseconds)、毫秒、微秒、纳秒都可以使用。

import pandas as pd
print (pd.Timedelta(days=2,hours=6))

输出结果:

2 days 06:00:00

to_timedelta()

您可以使用pd.to_timedelta()方法,将具有 timedelta 格式的值 (标量、数组、列表或 Series)转换为 Timedelta 类型。如果输入是 Series,则返回 Series;如果输入是标量,则返回值也为标量,其他情况输出 TimedeltaIndex。示例如下:

import pandas as pd
import numpy as np
print(pd.to_timedelta(['1 days 06:05:01.00003', '15.5us', 'nan']))
print(pd.to_timedelta(np.arange(5), unit='s'))

输出结果:

TimedeltaIndex(['1 days 06:05:01.000030', '0 days 00:00:00.000015500', NaT], dtype='timedelta64[ns]', freq=None)
TimedeltaIndex(['0 days 00:00:00', '0 days 00:00:01', '0 days 00:00:02','0 days 00:00:03', '0 days 00:00:04'],dtype='timedelta64[ns]', freq=None)

算术操作

通过对datetime64[ns]类型的时间序列或时间戳做算术运算,其运算结果依然是datetime64[ns]数据类型。接下来,我们创建一个带有 Timedelta 与 datetime 的 DataFrame 对象,并对其做一些算术运算。

import pandas as pd
from datetime import datetime
empdata = pd.read_csv("C:\\Users\\qwy\\Desktop\\data\\empdata.csv")date_str =empdata.loc[:,'HIREDATE']for s  in date_str:print(f"雇佣时间:{s},雇佣时间:{datetime.now()-pd.to_datetime(s)}")

输出结果:

雇佣时间:1980-12-17,雇佣时间:15903 days 22:33:24.413328
雇佣时间:1981-02-20,雇佣时间:15838 days 22:33:24.416003
雇佣时间:1981-02-22,雇佣时间:15836 days 22:33:24.417749
雇佣时间:1981-04-02,雇佣时间:15797 days 22:33:24.419878
雇佣时间:1981-09-28,雇佣时间:15618 days 22:33:24.420235
雇佣时间:1981-05-01,雇佣时间:15768 days 22:33:24.420235
雇佣时间:1981-06-09,雇佣时间:15729 days 22:33:24.420235
雇佣时间:1987-04-19,雇佣时间:13589 days 22:33:24.421580
雇佣时间:1981-11-17,雇佣时间:15568 days 22:33:24.421580
雇佣时间:1981-09-08,雇佣时间:15638 days 22:33:24.421580
雇佣时间:1987-05-23,雇佣时间:13555 days 22:33:24.421580
雇佣时间:1981-12-03,雇佣时间:15552 days 22:33:24.421580
雇佣时间:1981-12-03,雇佣时间:15552 days 22:33:24.422997
雇佣时间:1982-01-23,雇佣时间:15501 days 22:33:24.422997

加法运算

import pandas as pd
import numpy as np
empdata = pd.read_csv("C:\\Users\\qwy\\Desktop\\data\\empdata.csv")date_str =empdata.loc[:,'HIREDATE']for s  in date_str:print(f"雇佣时间:{s},雇佣后的第二天:{pd.to_datetime(s)+pd.Timedelta(days=1)}")

输出结果:

雇佣时间:1980-12-17,雇佣后的第二天:1980-12-18 00:00:00
雇佣时间:1981-02-20,雇佣后的第二天:1981-02-21 00:00:00
雇佣时间:1981-02-22,雇佣后的第二天:1981-02-23 00:00:00
雇佣时间:1981-04-02,雇佣后的第二天:1981-04-03 00:00:00
雇佣时间:1981-09-28,雇佣后的第二天:1981-09-29 00:00:00
雇佣时间:1981-05-01,雇佣后的第二天:1981-05-02 00:00:00
雇佣时间:1981-06-09,雇佣后的第二天:1981-06-10 00:00:00
雇佣时间:1987-04-19,雇佣后的第二天:1987-04-20 00:00:00
雇佣时间:1981-11-17,雇佣后的第二天:1981-11-18 00:00:00
雇佣时间:1981-09-08,雇佣后的第二天:1981-09-09 00:00:00
雇佣时间:1987-05-23,雇佣后的第二天:1987-05-24 00:00:00
雇佣时间:1981-12-03,雇佣后的第二天:1981-12-04 00:00:00
雇佣时间:1981-12-03,雇佣后的第二天:1981-12-04 00:00:00
雇佣时间:1982-01-23,雇佣后的第二天:1982-01-24 00:00:00

减法运算

import pandas as pd
import numpy as np
empdata = pd.read_csv("C:\\Users\\qwy\\Desktop\\data\\empdata.csv")date_str =empdata.loc[:,'HIREDATE']for s  in date_str:print(f"雇佣时间:{s},雇佣的前一天:{pd.to_datetime(s)-pd.Timedelta(days=1)}")

输出结果:

雇佣时间:1980-12-17,雇佣的前一天:1980-12-16 00:00:00
雇佣时间:1981-02-20,雇佣的前一天:1981-02-19 00:00:00
雇佣时间:1981-02-22,雇佣的前一天:1981-02-21 00:00:00
雇佣时间:1981-04-02,雇佣的前一天:1981-04-01 00:00:00
雇佣时间:1981-09-28,雇佣的前一天:1981-09-27 00:00:00
雇佣时间:1981-05-01,雇佣的前一天:1981-04-30 00:00:00
雇佣时间:1981-06-09,雇佣的前一天:1981-06-08 00:00:00
雇佣时间:1987-04-19,雇佣的前一天:1987-04-18 00:00:00
雇佣时间:1981-11-17,雇佣的前一天:1981-11-16 00:00:00
雇佣时间:1981-09-08,雇佣的前一天:1981-09-07 00:00:00
雇佣时间:1987-05-23,雇佣的前一天:1987-05-22 00:00:00
雇佣时间:1981-12-03,雇佣的前一天:1981-12-02 00:00:00
雇佣时间:1981-12-03,雇佣的前一天:1981-12-02 00:00:00
雇佣时间:1982-01-23,雇佣的前一天:1982-01-22 00:00:00

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/864946.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nvm Node.js 版本的命令行工具使用

简介 NVM 是 Node Version Manager 的缩写,它是一个用于管理 Node.js 版本的命令行工具。通过NVM,你可以在同一台机器上安装和切换多个 Node.js 版本,对于开发和测试在不同 Node.js 版本上运行的应用程序非常有用。 安装 https://github.com…

余承东在母校西工大毕业典礼演讲:定位决定地位,眼界决定境界。

添加图片注释,不超过 140 字(可选) 【6月29日,西北工业大学2024届本科生毕业典礼暨学位授予仪式隆重举行。典礼上,华为常务董事、终端BG 董事长、智能汽车解决方案BU 董事长余承东作为校友代表致辞,为毕业生…

Linux_fileio实现copy文件

参考韦东山老师教程&#xff1a;https://www.bilibili.com/video/BV1kk4y117Tu?p12 目录 1. 通过read方式copy文件2. 通过mmap映射方式copy文件 1. 通过read方式copy文件 copy文件代码&#xff1a; #include <sys/types.h> #include <sys/stat.h> #include <…

Python知识点背诵手册,超详细知识梳理

一、手册介绍 《Python知识点背诵手册》是一份详尽的Python学习资料&#xff0c;旨在帮助学习者系统地掌握Python语言的基础知识和进阶技能。该手册将Python的所有关键语法和概念进行了精炼的总结&#xff0c;并以易于理解和记忆的方式呈现。以下是手册的主要特点和内容概述&a…

Kafka-时间轮和延迟操作-源码流程

TimingWheel 字段&#xff1a; buckets&#xff1a;Array.tabulate[TimerTaskList]类型&#xff0c;其每一个项都对应时间轮中的一个时间格&#xff0c;用于保存 TimerTaskList的数组。在TimingWheel中&#xff0c;同一个TimerTaskList中的不同定时任务的到期时间可能 不同&a…

YOLO-world论文阅读笔记

论文&#xff1a;https://arxiv.org/abs/2401.17270 code: https://github.com/AILab-CVC/YOLO-World 1、为什么要做这个研究&#xff08;理论走向和目前缺陷&#xff09; ? 之前的开集检测器大多比较慢&#xff0c;不利于部署。 2、他们怎么做这个研究 &#xff08;方法&…

javascript输出语法

javascript输出有三种方式 一种是弹窗输出&#xff0c;就是网页弹出一个对话框&#xff0c;弹出输出内容 语法是aler(内容) 示例代码如下 <body> <script> alert(你好); </script> </body> 这段代码运行后网页会出现一个对话框&#xff0c;弹出你…

【鸿蒙学习笔记】基础组件Blank:空白填充组件

Blank&#xff1a;空白填充组件 Column({ space: 20 }) {Row() {Text(Bluetooth)Blank().color(Color.Yellow)Toggle({ type: ToggleType.Switch }).margin({ top: 14, bottom: 14, left: 6, right: 6 })}.backgroundColor(Color.Pink).borderRadius(15).padding({ left: 12 }…

数组-长度最小的子数组

M长度最小的子数组&#xff08;leetcode209&#xff09; /*** param {number} target* param {number[]} nums* return {number}*/ var minSubArrayLen function(target, nums) {const n nums.length;let ans n 1;let sum 0; // 子数组元素和let left 0; // 子数组…

2024 MWC上海:创新力量驱动未来先行,移远智慧点亮数字蓝海

6月26日&#xff0c;2024年世界移动通信大会&#xff08;MWC上海&#xff09;如期举行&#xff0c;今年的展会以“未来先行”为主题&#xff0c;涵盖“超越 5G、数智制造和人工智能经济”三大技术主题。移远通信作为全球物联网行业的引领者之一&#xff0c;今年不仅在展示内容上…

机器人----四元素

四元素 四元素的大小 [-1,1] 欧拉角转四元素

终极指南:RNNS、Transformers 和 Diffusion 模型

一、说明 作为广泛使用这些工具和模型的人&#xff0c;我的目标是解开 RNN、Transformer 和 Diffusion 模型的复杂性和细微差别&#xff0c;为您提供详细的比较&#xff0c;为您的特定需求提供正确的选择。 无论您是在构建语言翻译系统、生成高保真图像&#xff0c;还是处理时间…

【FFmpeg】avcodec_find_encoder和avcodec_find_decoder

目录 1.avcodec_find_encoder2.avcodec_find_decoder3.小结 FFmpeg相关记录&#xff1a; 示例工程&#xff1a; 【FFmpeg】调用ffmpeg库实现264软编 【FFmpeg】调用ffmpeg库实现264软解 【FFmpeg】调用ffmpeg库进行RTMP推流和拉流 【FFmpeg】调用ffmpeg库进行SDL2解码后渲染 流…

RK3568平台(USB篇)USB HID设备

一.USB HID设备简介 USB HID设备主要用于和计算机进行交互通信&#xff0c;典型的USB HID类设备包括USB键盘、USB鼠标、USB游戏手柄等等&#xff0c;这些都是日常生活中常见的设备。以USB接口的鼠标为例&#xff0c;打开计算机的“设备管理器”&#xff0c;可以在“鼠标和其他…

C++ ariac2 Windows库编译

cd "F:\\aria2" gmp-6.1.2.tar.lz expat-2.2.0.tar.bz2 sqlite-autoconf-3160200.tar.gz zlib-1.2.11.tar.gz c-ares-1.12.0.tar.gz libssh2-1.8.0.tar.gz --enable-libaria2 --enable-static libgnutls-dev&#xff08;对于HTTPS&#xff0c;BitTorrent&#xff0…

C语言笔记27 •单链表介绍•

1.链表的概念及结构 链表是⼀种物理存储结构上非连续、非顺序的存储结构&#xff0c;数据元素的逻辑顺序是通过链表 中的指针链接次序实现的。 2. 顺序表带来的问题 (1)中间/头部的插⼊删除&#xff0c;时间复杂度为O(N) (2)增容需要申请新空间&#xff0c;拷⻉数据&#xff…

【Redis7】零基础篇

1 课程概述 2 Redis入门概述 2.1 是什么 Redis是基于内存的KV键值对内存数据库 Redis&#xff1a;Remote Dictionary Server(远程字典服务)是完全开源的&#xff0c;使用ANSIC语言编写遵守BSD协议&#xff0c;是一个高性能的Key-Value数据库提供了丰富的数据结构&#xff0c…

阿里Nacos下载、安装(保姆篇)

文章目录 Nacos下载版本选择Nacos安装Windows常见问题解决 更多相关内容可查看 Nacos下载 Nacos官方下载地址&#xff1a;https://github.com/alibaba/nacos/releases 码云拉取&#xff08;如果国外较慢或者拉取超时可以试一下国内地址&#xff09; //国外 git clone https:…

Kafka 管理TCP连接

生产者管理TCP连接 Kafka生产者程序概览 Kafka的Java生产者API主要的对象就是KafkaProducer。通常我们开发一个生产者的步骤有4步&#xff1a; 第1步&#xff1a;构造生产者对象所需的参数对象。 第2步&#xff1a;利用第1步的参数对象&#xff0c;创建KafkaProducer对象实例…

自定义控件动画篇(三)ValueAnimator的使用

ValueAnimator 是 Android 属性动画系统的一部分&#xff0c;允许你创建基于值的动画而不仅仅是基于 UI 控件的动画。它可以用来改变任何类型的数据&#xff0c;如整数、浮点数、颜色值等&#xff0c;然后你可以利用这些变化的值来更新你的 UI 或执行其他逻辑。以下是 ValueAni…