【发布时间】:2016-11-16 06:25:45
【问题描述】:
我想问一下解决以下问题的最佳“日期”数据类型:
我正在从 ASCII 文件中读取时间序列数据并创建两个 numpy 数组; 1)date,2)data。创建后,我想从不同 ASCII 文件(start_time 和 duration 以秒为单位)指定的日期范围中提取 data。这些“数据”将被提取到另一个 numpy 数组中并写入输出文件。
到目前为止,我有:
import numpy as np
date = ['2016-07-05 12:00:00.000000',
'2016-07-05 12:00:00.010000',
'2016-07-05 12:00:00.020000',
'2016-07-05 12:00:00.030000',
'2016-07-05 12:00:00.040000',
'2016-07-05 12:00:00.050000',
'2016-07-05 12:00:00.060000',
'2016-07-05 12:00:00.070000',
'2016-07-05 12:00:00.080000',
'2016-07-05 12:00:00.090000',
'2016-07-05 12:00:00.100000',
'2016-07-05 12:00:00.110000',
'2016-07-05 12:00:00.120000',
'2016-07-05 12:00:00.130000',
'2016-07-05 12:00:00.140000']
data = [1,2,3,4,5,6,7,8,9,10,11,12,13,14]
date = np.asarray(date, dtype=np.string_)
data = np.asarray(data, dtype=np.float32)
然后为了从我想要的日期范围中提取:
start_time = '2016-07-05 12:00:00.030000'
duration = 0.10
a=[]
a=data[(date >= (start_time) & (date <= (start_time + duration))]
然后把'a'变成一个数组写入另一个文件:
a=np.asarray(a, dtype='float32')
但是 - 我为date 尝试过的几乎所有类型的 dtype 或 datetime 类都会给我一些错误(例如,对象没有属性
_getitem_ 等)或与列表不兼容。在这种情况下你会使用什么格式? POSIX?
谢谢!
【问题讨论】:
标签: python arrays datetime numpy time-series