Moe*_*Moe 12 python numpy date datetime64
我正在解析一个巨大的ascii文件,其中包含分配给条目的日期.所以,我发现自己使用与numpy.datetime64并行的datetime包来添加数组功能.我知道pandas包可能最适合用于约会,但是尝试在没有熊猫的情况下将其拉出来.我一直在寻找一种巧妙的方法来添加/减去某个日期步骤,例如一年或者3个月的datetime64对象.
目前,我正在将dt64对象转换为dt对象,并使用replace函数来更改年份,例如,之后必须将其转换回dt64,这对我来说有点麻烦.所以,如果有人只使用numpy.datetime64格式有更好的解决方案,我将不胜感激.
示例:将"YYYY-12-31"转换为"(YYYY-1)-12-31"
a = np.datetime64(2014,12,31) # a is dt64 object
b = a.astype(object) # b is dt object converted from a
c = np.datetime64( b.replace(b.year-1)) # c is dt64 object shifted back 1 year (a -1year)
Run Code Online (Sandbox Code Playgroud)
Pug*_*gie 16
您可以使用numpy.timedelta64对象在numpy.datetime64对象上执行时间增量计算,请参阅Datetime和Timedelta Arithmetic.
由于一年可能是365天或366天,因此不可能减去一年,但您可以减去365天而不是:
import numpy as np
np.datetime64('2014-12-31') - np.timedelta64(365,'D')
Run Code Online (Sandbox Code Playgroud)
结果是:
numpy.datetime64('2013-12-31')
| 归档时间: |
|
| 查看次数: |
15302 次 |
| 最近记录: |