Numpy удалить больше строк, чем ожидалось - PullRequest
0 голосов
/ 14 мая 2019

Я пытаюсь отделить несколько строк от массива numpy Форма массива X

(81, 9, 3072)

Я сделал

Xt=X[56:62,:,:]

форма Xt

(6, 9, 3072)

я удаляю Xt из X

X1=np.delete(X,Xt,axis=0)

Теперь форма X1

(67, 9, 3072)

не должно быть

(75, 9, 3072)

1 Ответ

0 голосов
/ 14 мая 2019

np.delete хочет удалить фрагмент или массив индексов. Вы также не дадите его, если только по счастливой случайности Xt не удержит эти индексы.

Один из вариантов - использовать numpy.s_ для получения нужного фрагмента объекта. Что-то вроде:

import numpy as np

X = np.ones([81, 9, 3072])
sl = np.s_[56:62]

Xt = X[sl]

X1=np.delete(X,sl,axis=0)

print(Xt.shape)
#(6, 9, 3072)

print(X1.shape)
#(75, 9, 3072)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...