Я начинаю с Python и задаюсь вопросом, почему размер массива иногда отображается как, скажем, (10,) вместо (10,1)? Мне также интересно, влияет ли разница на математическую обработку.
Я собираюсь пойти дальше и предположить, что речь идет о массивах numpy.
@MegaIng: Это скорее теоретический вопрос. Я имею в виду любой одномерный массив numpy.
Если вы начинаете с Python, вам следует немного подождать, прежде чем погрузиться в numpy
@ OlivierMelançon: Спасибо за подсказку.
Массив также может иметь форму (1,10) или даже (1,10,1,1). Для некоторых математиков разница в форме не имеет значения. Подобные детали формы имеют значение при работе с другим массивом другой формы.






Разница между ними заключается в том, есть ли у вас 1D-массив (10,) или 2D-массив, в котором одно измерение имеет размер 1 (10,1).
Математические операции в numpy довольно надежны. Хотя при трансляции могут возникнуть проблемы. Подробнее см .: https://docs.scipy.org/doc/numpy/user/basics.broadcasting.html
Форма - это кортеж, например (10, 1).
Популярная викторина: Как представить кортеж из одного элемента?
(10) работает?
>>> type((10))
<class 'int'>
Неа. Это просто старый добрый int. Попробуем (10,):
>>> type((10,))
<class 'tuple'>
Итак, мы идем! При желании получается кортеж. Итак, мы должны написать (10,).
Попробуйте поэкспериментировать в своем REPL.
>>> np.zeros((10,))
array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])
>>> np.zeros((10,)).shape
(10,)
>>> np.zeros((10, 1))
array([[0.],
[0.],
[0.],
[0.],
[0.],
[0.],
[0.],
[0.],
[0.],
[0.]])
>>> np.zeros((10, 1)).shape
(10, 1)
В каком контексте? О каком массиве вы говорите? Не могли бы вы привести примеры кода?