2013-08-05 4 views
1

Я построил Numpy массив как:Нарезка одного столбца из массива numpy с типом данных?

data = np.zeros(ndata,dtype=[('datetime',np.dtype(np.datetime64)),\ 
    ('Value','<f8'),('Weight','<f8')]) 

и заполнили ее данными. Однако теперь я хочу делать такие вещи, как возврат только столбца datetime или только значений. Но это не массив 2d numpy, это 1d-массив некоторого настраиваемого dtype, поэтому я не могу этого сделать.

data[:,0] 

Я предполагаю, что это либо тривиально, либо я принципиально получил неверное представление о том, как использовать Numpy массивы.

ответ

2

NumPy тип данных может быть доступна только как словарь, так что вы можете просто сделать:

data[0]['datetime'] 

Чтобы получить DATETIME поле строки нулевой или

data[:]['datetime'] 

Чтобы получить массив из datetime для всех строк.

+0

О, отлично, я надеялся, что ответ был чем-то таким же тривиальным, как это. Благодарю. – Bogdanovist

+0

Без проблем! Часто в python вы можете просто попробовать самую легкую вещь, о которой можете подумать, и она будет работать :) –