我有一个大致如下的numpy数组:
data
array([(datetime.datetime(2009, 1, 6, 2, 30), 17924.0, 0.0),....
(datetime.datetime(2009, 1, 29, 16, 30), 35249.2, 521.25],
dtype=[('timestamp', '|O4'), ('x1', '<f8'), ('x2', '<f8')])
我希望能够根据第一列(即使用日期时间对象)对数据进行索引,这样我就可以访问特定年/月/日的数据,如下所示:
data[data['timestamp'].year == 2009]
这显然是行不通的。我唯一能想到的就是添加额外的列(例如“年”列),所以这会起作用:
data[data['year'] == 2009]
似乎是一种相当低效的做事方式(并且会复制大量数据) - 特别是如果我想对所有其他时间间隔进行索引......有没有更好的方法来做到这一点?
提前致谢。