У меня есть Numpy массив, содержащий дату (как объект DateTime), цены и категории, как целое:индексация на объект даты и времени в пределах Numpy массива
array([[datetime.date(2013, 6, 5), 11.42, 1],
[datetime.date(2013, 6, 7), 63.97, 1],
[datetime.date(2013, 6, 19), 3.92, 1],
[datetime.date(2013, 6, 19), 16.25, 2],
[datetime.date(2013, 6, 20), 11.0, 2],
[datetime.date(2013, 6, 22), 32.72, 2],
[datetime.date(2013, 6, 25), 16.6, 3],
[datetime.date(2013, 6, 26), 2.95, 2],
[datetime.date(2013, 7, 1), 6.27, 1],
[datetime.date(2013, 7, 1), 2.95, 1]], dtype=object)
Подводя итог цены, если категория выполняется с помощью index_cat=(array==2).any(axis=1)
, а затем np.sum(array[index_cat][:,1])
очевидна.
То, что я хочу достичь сейчас, в основном то же самое, но вместо того, чтобы выбирать категорию, я хочу взять в качестве критерия месяц месяца или месяц-год.
Так что я думал, что index_june=(array==datetime.dateime(month='06').any(axis=1)
должен это сделать, но даже с большим количеством поисков я не смог найти способ сделать это.
Итак, как это выразить, чтобы соответствовать объекту datetime, учитывая отсутствие подстановочных знаков?
Большое спасибо!
Отлично! Спасибо за быстрый и ясный ответ! Я предпочитаю способ понимания списка, поскольку он лучше подходит для моего знания python (на данный момент). – nick
Он также выглядит немного быстрее. – dnalow