0
У меня есть массив A
, содержащий список nvec
3D-векторы, A.shape==(nvec,3)
. Я хочу, чтобы изменить порядок строк из A
в соответствии с нормами векторов:переупорядочить список векторов по норме
norm=numpy.square(A).sum(axis=1)
rank=numpy.argsort(norm)
Я попытался A[rank,:]
, но это дает мне ошибку.
Arggg, оказывается, A [ранг] не работает, я думаю, потому что А не является объектом numpy.ndarray, а объект h5py._hl.dataset.Dataset , Я наивно думал, что могу применить к нему всевозможные преобразования numpy. Самое забавное, что numpy.square и numpy.argsort действительно сработали. – jmborr
начать с 'A = numpy.array (A)' –
Да, A [ранг], безусловно, работает после «каста» на объект numpy.ndarray. Благодарю y'all !!! – jmborr