我有一个带2个数组的python zip
zipped = zip(array1 [],array2 [])
其中array1的类型为numpy.datetime64 [] adn,array2是温度
我想在第一个数组中创建一个时间窗口,所以我可以使用固定数组len(因为我有其他的压缩数组,但它们的数组长度不同)
这就是我所拥有的:
start = np.datetime64('2016-06-17T15:00')
stop = np.datetime64('2016-06-19T15:00')
index, temp = sensor_cal.get_arrays('ParsedData/parsed.csv')
print(index)
print(temp)
index2 = index[start:stop] /////////////This doesn't work
print(index2)
我如何定义这样的时间窗口.... 我的目标是在同一时间窗口中获得相同长度的数组(因为它们之前是频率标准化的),然后制作一个图表,其中xAxis是时间,各个系列对应于多个温度传感器阵列
我的错误:
[' 2016-06-17T13:23:59.000000000' ' 2016-06-17T13:24:59.000000000' ' 2016-06-17T13:25:59.000000000' ...,' 2016-06-20T09:55:59.000000000' ' 2016-06-20T09:56:59.000000000' ' 2016-06-20T09:57:59.000000000'] [[
nan [nan] [nan] ...,[25.54] [ 25.56333333] [25.59333333]]回溯(最近一次调用最后一次):文件" main_cal.py",第10行,在 index [start:stop] IndexError:无法强制将numpy.datetime64类型的切片条目强制转换为整数
答案 0 :(得分:1)
您可以使用专为此设计的pandas
索引。 '系列'是附加索引的1d数组。参考Wes McKinney的Python数据分析:
import pandas as pd
temp = np.random.randn(366)
time_series = pd.Series(temp,index=np.arange(np.datetime64('2015-12-19'),np.datetime64('2016-12-19')))
start = np.datetime64('2016-01-17T15:00')
stop = np.datetime64('2016-06-19T15:00')
time_series[start:stop]
输出:
2016-01-18 -0.690170
2016-01-19 -0.638598
2016-01-20 0.231680
2016-01-21 -0.202787
2016-01-22 -1.333620
2016-01-23 1.525161
2016-01-24 -0.908140
2016-01-25 0.493663
2016-01-26 -1.768979
2016-01-27 0.147327
...