Py学习  »  Python

Python pandas库(24)日期时间运算

YoungZ • 5 年前 • 292 次点击  

有时,我们需要对日期和时间进行简单的运算。

例如:

一: 上面这组数据中,有两组日期,我们可以直接求出他们之间的间隔。

简单的相减就能得出两个日期之间的日期差。

但是很奇怪,为什么得出的结果里面有days这个单位呢?得出的数据是什么属性呢?

原来得出的并不是整数型也不是个字符串,而是datetime库里常用的timedelta型。

怎样把这些数据转换成整数,方便我们后续使用呢?

对每一个元素使用一次.days就能将数据转换为整数。

timedelta型数据,不能直接转换成年、周、月等,只能转换为天数、秒数和微秒数。而且在返回秒数和微秒数时,如果是负数时,容易出错(例如:-3秒会被处理为-1天86397秒)

所以在转换间隔秒数时最好使用total_seconds()

二 如果我想知道,n天前或者n天后的日期,可以直接加减么?

很抱歉,不可以。。。。。。

这个功能要使用datetime库里面的timedelta函数。

减法也可以:

不仅仅是加减天数,也可以加减小时:

加减星期数:

除了加减天数、小时数、星期数,还可以加减分钟minutes, 秒seconds,毫秒和微秒。不能直接加减月数,年数。毕竟每年和每个月的天数是不一样的。

三、如果需要对所有整列都减去同一个日期,我们需要定义一个日期,让系统识别得出来。

这样日期和日期之间就能运算了:

总的来说:pandas里面的日期运算并不是特别方便,需要借助datetime库,而且timedelta数据类型转换成整数时并不容易。


今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/3qEpo9Kl9l
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/22596
 
292 次点击