Я хочу, чтобы все массивы NumPlay были двухмерными

Я бы рекомендовал replace() вместо attach() / detach() в вашей обработке вкладок.

Или переключитесь на ViewPager. Вот пример проекта , показывающий ViewPager, с вкладками, содержащими 10 карт.

1
задан Al-Baraa El-Hag 22 February 2019 в 08:22
поделиться

2 ответа

Вы можете использовать np.matrix вместо np.array для определения 2D матриц. Например:

np.matrix('1 2; 3 4')
np.matrix([[1, 2], [3, 4]])

Для преобразования массива в матрицу используйте np.asmatrix :

a = np.array([[1, 2], [3, 4]])
m = np.asmatrix(a)

Но, как упомянуто в комментариях hpaulj, учтите:

Больше не рекомендуется использовать этот класс, даже для линейной алгебры. Вместо этого используйте обычные массивы. Класс может быть удален в будущем.

Так что неплохо бы привыкнуть к использованию массивов numpy. Посмотрите это руководство https://docs.scipy.org/doc/numpy/user/numpy-for-matlab-users.html

Для преобразования скаляров или 1D-массивов в 2D-массивы есть функция np.atleast_2d

np.atleast_2d(3.0)
array([[ 3.]])

np.atleast_2d([1, 2, 3])
array([[1, 2, 3]])
0
ответ дан AndyK 22 February 2019 в 08:22
поделиться

Как отмечалось выше, класс np.matrix имеет семантику, очень похожую на массив matlab.

Однако, если ваша цель состоит в том, чтобы выучить numpy как рыночный навык, я настоятельно рекомендую вам полностью принять концепцию ndarray; Хотя есть некоторая историческая правда в том, что называть numpy портом matlab, это немного оскорбительно, поскольку ndarray является одним из наиболее убедительных объективных концептуальных улучшений numpy по сравнению с matlab, помимо его цены.

TLDR; вам будет трудно не бросить ваше приложение, если вы заявите, что знаете numpy, но ваши примеры кода пахнут как портированный matlab.

0
ответ дан Eelco Hoogendoorn 22 February 2019 в 08:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: