Что означает (n,) для формы массива numpy?

Я начинаю с Python и задаюсь вопросом, почему размер массива иногда отображается как say (10 (10, 1)) вместо >>> type (( 10 )) < class 'int' > ? Мне также интересно, влияет ли разница на любую математическую обработку.

python,numpy,

0

Ответов: 2


1 принят

Форма - кортеж, например int. Как мы представляем один элемент кортежа?

>>> type((10,))
<class 'tuple'>

Неа. Это просто старый int. Давайте бросим в ,конце:

(10,)

Там мы идем! Мы пишем .>>> 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)

Попробуйте экспериментировать в своем REPL.

(10,)

Разница между ними заключается в том, есть ли у вас 1D-массив (10,1)или 2D-массив, где одно измерение имеет размер 1 (10,1).

Математические операции в numpy довольно надежны. Хотя вы можете столкнуться с проблемами при трансляции. Для получения дополнительной информации см. Https://docs.scipy.org/doc/numpy/user/basics.broadcasting.html

питон, NumPy,
Похожие вопросы