Numpy 时间日期的表示和计算
阅读更多:Numpy 教程
Numpy datetime64 的基本表示
Numpy 中的 datetime64
类型用于表示时间和日期。其格式为 YYYY-MM-DD
或者 YYYY-MM-DDTHH:mm:ss.ssssss
。其中,YYYY
表示年份,MM
表示月份,DD
表示天数,HH
表示小时,mm
表示分钟,ss
表示秒数,ss.ssssss
表示毫秒数。下面是一些 datetime64
类型的示例:
我们还可以使用字符串格式化指令来创建 datetime64
类型,也可以使用浮点数表示相对于 Unix 时间戳的时间戳:
我们可以通过 dtype
属性来查看一个数组中的元素类型:
注意,在 datetime64
类型中,中括号中的 ns/ms
等表示精度的参数可以指定为:
Y
: 年M
: 月D
: 日h
: 时m
: 分s
: 秒ms
: 毫秒us
: 微秒ns
: 纳秒ps
: 皮秒fs
: 飞秒as
: 阿托秒
计算时间差
可以使用减法 (-)
运算符来计算两个 datetime64
类型的时间之差。例如:
可以得到 delta1
的数据类型为 numpy.timedelta64
,它可以表示时间差的不同精度级别,例如:
除了直接使用 np.timedelta64
创建时间差外,我们还可以使用 astype
方法将 datetime64
类型转换为 timedelta64
类型:
增加或减少时间
Numpy 提供了一些函数来增加或减少时间间隔,例如:
我们还可以使用 np.datetime64
函数中的 months
参数来增加或减少月份:
需要注意的是,months
参数的精确含义是根据日历月份而不是简单的 30 天计算的,因此该参数的含义在不同的情况下会有所不同,具体可以参考官方文档。
格式化输出时间
Numpy 提供了一些函数来将 datetime64
类型的时间转换为字符串,例如:
这里的 unit
参数表示输出字符串的粒度单位,可以设置为 Y/M/W/D/h/m/s/ms/us/ns
等。
我们还可以使用 strftime
方法来进行更为自由灵活的时间格式化操作。例如:
这里的 %Y
表示四位数的年份,%m
表示两位数的月份,%d
表示两位数的日期,%H
表示两位数的小时,%M
表示两位数的分钟,%S
表示两位数的秒数,%f
表示六位数的毫秒数。更多的格式化操作可以参考 Python 的官方文档。
总结
本文介绍了 Numpy 中的 datetime64
类型的基本表示和计算方式,包括时间差的计算、时间的增减、时间的格式化输出等。Numpy 的时间日期类型灵活多样、使用方便,是数据分析中不可或缺的组成部分。