Индексирование одномерного numpy.array как матрицы

Я пытаюсь проиндексировать a numpy.array с различными размерами во время выполнения. Чтобы получить, например, первую строку массива * m a , вы можете просто сделать

a[0,:]

. Однако, если a оказывается вектором 1xn , приведенный выше код возвращает ошибку индекса:

IndexError: слишком много индексов

Поскольку код должен выполняться с максимальной эффективностью, я не хочу вводить оператор if . Есть ли у кого-нибудь удобное решение, которое в идеале не требует изменения каких-либо типов структур данных?

7
задан Shai 9 May 2013 в 05:51
поделиться