Numpy. Форма поведения отличается на одномерном массиве и двумерном массиве - PullRequest
0 голосов
/ 14 апреля 2020

Я только начал использовать NumPy, и я понял, что это очень базовый c и странный момент, на который следует обратить внимание, но я заметил, что функция shape действует по-разному при вызове в одномерном массиве по сравнению с вызовом в 2D-массив.

Вот как он возвращает результаты в 1D-массиве -

    arr=np.array([1,2,3])
    arr.shape
OUTPUT - (3,)
In this the number of columns is represented before the " , " ie its represented as (columns,)

А вот как он возвращает результаты в 2D-массиве -

    arr1=np.array([[1,2,3,],[4,5,6]])
    arr1.shape
OUTPUT - (2,3)
In this the number of columns is represented after the " , ".  ie its represented as (rows,columns).

Это не то, что влияет на его функциональность или полезность, но мне все еще было интересно, почему он возвращает выходные данные в случае 1D-массива таким образом. Даже если форма 1D и количество строк оставлено пустым, почему число столбцов отображается перед знаком «,»?

1 Ответ

0 голосов
/ 14 апреля 2020

Это потому, что форма массива numpy является кортежем. Вы можете увидеть это здесь:

import numpy as np

arr = np.array([1, 2, 3])
print(type(arr.shape))

# output: <class 'tuple'>

И кортежи в целом показаны так. Посмотрите на пример ниже:

arr = tuple([1])
print(arr)

# output: (1,)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...