Conceptos básicos de las matrices NumPy
NumPy significa Python numérico. Es una biblioteca de Python que se utiliza para trabajar con una matriz. En Python, usamos la lista para la matriz, pero su procesamiento es lento. La matriz NumPy es un potente objeto de matriz N-dimensional y se utiliza en álgebra lineal, transformada de Fourier y capacidades de números aleatorios. Proporciona un objeto de matriz mucho más rápido que las listas tradicionales de Python.
Tipos de matriz:
- Matriz unidimensional
- Matriz multidimensional
Matriz unidimensional:
Una matriz unidimensional es un tipo de matriz lineal.
Matriz unidimensional
Ejemplo:
Python3 # importing numpy module import numpy as np # creating list list = [1, 2, 3, 4] # creating numpy array sample_array = np.array(list) print('List in python : ', list) print('Numpy Array in python :', sample_array)
Producción:
List in python : [1, 2, 3, 4] Numpy Array in python : [1 2 3 4]
Verifique el tipo de datos para lista y matriz:
Python3 print(type(list_1)) print(type(sample_array))
Producción:
Matriz multidimensional:
Los datos en matrices multidimensionales se almacenan en forma de tabla.
Matriz bidimensional
Ejemplo:
Python3 # importing numpy module import numpy as np # creating list list_1 = [1, 2, 3, 4] list_2 = [5, 6, 7, 8] list_3 = [9, 10, 11, 12] # creating numpy array sample_array = np.array([list_1, list_2, list_3]) print('Numpy multi dimensional array in python
', sample_array) Producción:
Numpy multi dimensional array in python [[ 1 2 3 4] [ 5 6 7 8] [ 9 10 11 12]]
Nota: usar [ ] operadores dentro de numpy.array() para multidimensionales
Anatomía de una matriz:
1. Eje: El eje de una matriz describe el orden de indexación en la matriz.
Eje 0 = unidimensional
Eje 1 = Bidimensional
Eje 2 = Tridimensional
2. Forma: El número de elementos junto con cada eje. Es de una tupla.
Ejemplo:
Python3 # importing numpy module import numpy as np # creating list list_1 = [1, 2, 3, 4] list_2 = [5, 6, 7, 8] list_3 = [9, 10, 11, 12] # creating numpy array sample_array = np.array([list_1, list_2, list_3]) print('Numpy array :') print(sample_array) # print shape of the array print('Shape of the array :', sample_array.shape) Producción:
Numpy array : [[ 1 2 3 4] [ 5 6 7 8] [ 9 10 11 12]] Shape of the array : (3, 4)
Ejemplo:
Python3 import numpy as np sample_array = np.array([[0, 4, 2], [3, 4, 5], [23, 4, 5], [2, 34, 5], [5, 6, 7]]) print('shape of the array :', sample_array.shape) Producción:
shape of the array : (5, 3)
3. Rango: El rango de una matriz es simplemente el número de ejes (o dimensiones) que tiene.
La matriz unidimensional tiene rango 1.
Rango 1
La matriz bidimensional tiene rango 2.
Rango 2
4. Objetos de tipo de datos (tipo d): Los objetos de tipo de datos (dtype) son una instancia de numpy.dtipo clase. Describe cómo se deben interpretar los bytes en el bloque de memoria de tamaño fijo correspondiente a un elemento de la matriz.
Ejemplo:
Python3 # Import module import numpy as np # Creating the array sample_array_1 = np.array([[0, 4, 2]]) sample_array_2 = np.array([0.2, 0.4, 2.4]) # display data type print('Data type of the array 1 :', sample_array_1.dtype) print('Data type of array 2 :', sample_array_2.dtype) Producción:
Data type of the array 1 : int32 Data type of array 2 : float64
Alguna forma diferente de crear Numpy Array:
1. numpy.matriz() : El objeto de matriz Numpy en Numpy se llama ndarray. Podemos crear ndarray usando numpy.matriz() función.
Sintaxis: matriz.numpy(parámetro)
Ejemplo:
Python3 # import module import numpy as np #creating a array arr = np.array([3,4,5,5]) print('Array :',arr) Producción:
Array : [3 4 5 5]
2. numpy.fromiter() : La función fromiter() crea una nueva matriz unidimensional a partir de un objeto iterable.
Sintaxis: numpy.fromiter(iterable, dtype, recuento=-1)
Ejemplo 1:
Python3 #Import numpy module import numpy as np # iterable iterable = (a*a for a in range(8)) arr = np.fromiter(iterable, float) print('fromiter() array :',arr) Producción:
matriz fromiter() : [ 0. 1. 4. 9. 16. 25. 36. 49.]
Ejemplo 2:
Python3 import numpy as np var = 'Geekforgeeks' arr = np.fromiter(var, dtype = 'U2') print('fromiter() array :', arr) Producción:
matriz fromiter(): ['G' 'e' 'e' 'k' 'f' 'o' 'r' 'g' 'e' 'e' 'k' 's']
3. numpy.arange() : Esta es una función NumPy incorporada que devuelve valores espaciados uniformemente dentro de un intervalo determinado.
Sintaxis: numpy.arange([inicio,]detener, [paso,]dtype=Ninguno)
Ejemplo:
Python3 import numpy as np np.arange(1, 20 , 2, dtype = np.float32)
Producción:
matriz([ 1., 3., 5., 7., 9., 11., 13., 15., 17., 19.], dtype=float32)
4. numpy.linspace() : Esta función devuelve números espaciados uniformemente sobre un límite especificado entre dos.
Sintaxis: numpy.linspace(inicio, parada, num=50, punto final=Verdadero, retstep=False, dtype=Ninguno, eje=0)
Ejemplo 1:
Python3 import numpy as np np.linspace(3.5, 10, 3)
Producción:
array([ 3.5 , 6.75, 10. ])
Ejemplo 2:
Python3 import numpy as np np.linspace(3.5, 10, 3, dtype = np.int32)
Producción:
array([ 3, 6, 10])
5. numpy.vacío() : Esta función crea una nueva matriz de forma y tipo determinados, sin inicializar el valor.
Sintaxis: numpy.empty(forma, dtype=flotante, orden='C')
Ejemplo:
Python3 import numpy as np np.empty([4, 3], dtype = np.int32, order = 'f')
Producción:
array([[ 1, 5, 9], [ 2, 6, 10], [ 3, 7, 11], [ 4, 8, 12]])
6. numpy.ones(): Esta función se utiliza para obtener una nueva matriz de forma y tipo determinados, rellena con unos (1).
Sintaxis: numpy.ones(forma, dtype=Ninguno, orden='C')
Ejemplo:
Python3 import numpy as np np.ones([4, 3], dtype = np.int32, order = 'f')
Producción:
array([[1, 1, 1], [1, 1, 1], [1, 1, 1], [1, 1, 1]])
7. numpy.zeros() : Esta función se utiliza para obtener una nueva matriz de forma y tipo determinados, rellena con ceros (0).
Sintaxis: numpy.ones(forma, tipod=Ninguno)
Ejemplo:
Python3 import numpy as np np.zeros([4, 3], dtype = np.int32, order = 'f')
Producción:
array([[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]])