English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Descrição e exemplo de atributos de arrays NumPy
A dimensão do array do NumPy é chamada de grau (rank), ou seja, a dimensão do array, o grau do array unidimensional é 1,o grau do array bidimensional é 2,por exemplo.
Em NumPy, cada array linear é chamado de eixo (axis), axis=0 representa operações ao longo do eixo 0, ou seja, operações em cada coluna; axis=1,representa ao longo do eixo1Operações de eixo, ou seja, operações em cada linha.
Por exemplo, o array bidimensional é equivalente a dois arrays unidimensionais, onde cada elemento do primeiro array unidimensional é outro array unidimensional.
Portanto, o array unidimensional é o eixo (axis) do NumPy, o primeiro eixo é equivalente ao array de nível inferior, o segundo eixo é o array dentro do array de nível inferior. E o número de eixos, ou seja, o grau, é a dimensão do array.
As propriedades importantes dos objetos ndarray em arrays do NumPy são
Os tipos de dados suportados pelo NumPy são Tipos de dados embutidos do PythonMuito maior, praticamente pode ser correspondido ao tipo de dados do idioma C, onde parte dos tipos correspondem aos tipos embutidos do Python. A tabela a seguir lista os tipos básicos comuns do NumPy.
ndarray.ndim - Grau, ou seja, o número de eixos ou o número de dimensões.ndarray.shape - Dimensões do array, para matrizes, n linhas e m colunas.ndarray.size - Número total de elementos do array, equivalente a .shape[n].*O valor de m.ndarray.dtype - Tipo de elemento do objeto ndarray.ndarray.itemsize - Tamanho de cada elemento do objeto ndarray, em bytes.ndarray.flags - Informações de memória do objeto ndarray.ndarray.real - Parte real dos elementos ndarray.ndarray.imag - Parte imaginária dos elementos ndarray.ndarray.data - O buffer que contém os elementos do array real, já que geralmente se obtém elementos através dos índices do array, geralmente não é necessário usar essa propriedade.
ndarray.ndim é usado para retornar a dimensão do array, igual ao grau.
>>> import numpy as np >>> a = np.arange(24) >>> print(a.ndim) 1 # a possui apenas uma dimensão >>> b = a.reshape(2,4,3) >>> print(b.ndim) 3 # b agora possui três dimensões
ndarray.shape representa a dimensão do array, retornando um tupla, a qual comprimento é o número de dimensões, ou seja, o atributo ndim (ordem). Por exemplo, um array bidimensional, sua dimensão representa "número de linhas" e "número de colunas".
ndarray.shape também pode ser usada para ajustar o tamanho do array.
>>> import numpy as np >>> a = np.array([1,2,3,4,5,6],[4,5,6,7,8,9]) >>> print(a.shape) (2, 6) >>> a.shape = (6,2) >>> print(a) [[1 2]] [3 4]] [5 6]] [4 5]] [6 7]] [8 9]]
Ao mesmo tempo, a função reshape também é fornecida no NumPy para ajustar o tamanho do array, como exemplos específicos a seguir:
>>> import numpy as np >>> a = np.array([1,2,3,4,5,6],[4,5,6,7,8,9]) >>> b = a.reshape(6,2) >>> print(b) [[1 2]] [3 4]] [5 6]] [4 5]] [6 7]] [8 9]]
ndarray.size é o número de elementos do array. Igual a np.prod(a.shape), ou seja, o produto das dimensões do array.
a.size retorna um inteiro Python de precisão arbitrária padrão. Para outros métodos que retornam o mesmo valor, a situação pode não ser a mesma (como o método recomendado np.prod(a.shape), que retorna um exemplo np.int_), e se esse valor for usado em cálculos que podem exceder o tamanho fixo do tipo de inteiro, pode ser relevante.
>>> import numpy as np >>> x = np.zeros((3, 5, 2), dtype=np.complex128) >>> x.size 30 >>> np.prod(x.shape) 30
>>> import numpy as np >>> x array([[0, 1], [2, 3]) >>> x.dtype dtype('int32') >>> type(x.dtype)
ndarray.itemsize retorna o tamanho de cada elemento do array em bytes.
por exemplo, um tipo de elemento float64 O atributo itemsiz do array 8(float64 consome 64 ,cada byte tem um comprimento de 8bytes,como um tipo de elemento complex 64/8bits,ou seja, 8 consome32 O atributo item do array 4(32/8)。
>>> import numpy as np >>> x = np.array([1,2,3,4,5], dtype = np.int8) >>> print(x.itemsize) 1 >>> y = np.array([1,2,3,4,5], dtype = np.float64) >>> print(y.itemsize) 8
ndarray.flags retorna informações de memória do objeto ndarray, incluindo as seguintes propriedades:
C_CONTIGUOUS (C) - Os dados estão em um único segmento contíguo no estilo C.F_CONTIGUOUS (F) - Os dados estão em um único segmento contíguo no estilo Fortran.OWNDATA (O) - O array possui a memória que ele usa ou a empréstima de outro objeto.WRITEABLE (W) - A área de dados pode ser escrita, configure este valor como False para que os dados sejam de leitura apenas.ALIGNED (A) - Os dados e todos os elementos estão apropriadamente alinhados no hardware.UPDATEIFCOPY (U) - Este array é uma cópia de outro array, quando este array for liberado, o conteúdo do array original será atualizado.
>>> import numpy as np >>> a = np.array([1,2,3,4,5] >>> print(a.flags) C_CONTIGUOUS: True F_CONTIGUOUS: True OWNDATA: True WRITEABLE: True ALIGNED: True WRITEBACKIFCOPY: False UPDATEIFCOPY: False
>>> import numpy as np >>> x = np.sqrt([1+0j, 0+1j]) >>> x.real array([1. , 0.70710678] >>> x.real.dtype dtype('float64') >>> x.imag array([0. , 0.70710678] >>> x.imag.dtype dtype('float64')