Как изменить ось среза массива? - PullRequest
1 голос
/ 22 июня 2019

Я довольно новичок в numpy массивах, поэтому любая помощь будет высоко ценится.

Я хочу получить один фрагмент массива n x m вдоль второй оси, в результате получим массив n x 1, например,

a = np.array([[1, 2, 3],
              [4, 5, 6]])

Тогда я хочу:

some_function(a, 0) = array([[1], [4]])  # to get slice of a, along index 0

Я пробовал a[:, 0], что дает array([1, 4]).

И

np.transpose(a[:, 0])

также дает:

array([1, 4])

Что меня смущает.

Я уверен, что это действительно просто, но не могу найти правильный some_function!

1 Ответ

0 голосов
/ 22 июня 2019

Итак, я решил это с помощью np.reshape:

some_function (a, 0) = np.reshape (a [:, 0], (2,1))

Но это не кажется слишком элегантным. Кто-нибудь получил более аккуратное решение?

...