Qué es uno mismo en Python: ejemplos del mundo real
Qué es uno mismo en Python: ejemplos del mundo real
Como científico de datos que trabaja con Python, lo más probable es que se haya topado con la biblioteca NumPy . Es uno de los paquetes fundamentales para la computación científica en Python .
Con su capacidad para realizar operaciones de alto rendimiento en arreglos multidimensionales, NumPy es una herramienta esencial para cualquiera que se sumerja en la ciencia de datos o la computación numérica en Python.
Una hoja de trucos de NumPy puede ser un excelente recurso para ayudarlo a guiar su viaje a esta biblioteca de Python. ¡Una hoja de trucos completa lo ayudará a navegar por las funciones de NumPy y rápidamente dominará su uso para varias tareas!
Además, recuerde que NumPy se encuentra en el núcleo de bibliotecas importantes como Pandas, SciPy, sci-kit-learn y otros paquetes de Python.
Al dominar sus conceptos básicos con la ayuda de la hoja de trucos de Python NumPy , estará mejor equipado para trabajar con estas bibliotecas. También mejorará sus habilidades en el manejo de estructuras de datos y cálculos complejos.
¿Eres de la vieja escuela (como nosotros) y quieres descargar y posiblemente imprimir tu hoja de trucos?
Desplácese hacia abajo para hacerlo.
Tabla de contenido
Conceptos básicos de NumPy
En esta sección, cubriremos los conceptos básicos de NumPy, centrándonos en la instalación de NumPy, la creación de matrices, los atributos de matrices y los tipos de datos. Estos conceptos proporcionarán una base sólida para comprender y utilizar NumPy de manera efectiva en sus proyectos de ciencia de datos de Python.
1. Instalar e importar NumPy
Puede instalar NumPy desde la línea de comando usando el siguiente comando:
pip install numpy
Una vez que esté instalado, impórtelo en su código.
import numpy as np
Tenga en cuenta que puede usar cualquier otro nombre además de np . Sin embargo, np es la convención de importación NumPy estándar utilizada por la mayoría de los desarrolladores y científicos de datos.
2. Creación de matrices
Crear matrices en NumPy es simple y directo. Puede crear matrices a partir de listas o tuplas utilizando la función numpy.array() :
import numpy as np
a = np.array([1, 2, 3]) # Creates a 1D array
b = np.array([(1, 2, 3), (4, 5, 6)]) # Creates a 2D array
También puede generar matrices de formas y valores específicos usando varias funciones:
np.zeros() : Crea una matriz llena de ceros
np.ones() : Crea una matriz llena de unos
np.identity() : crea una matriz de matriz de identidad.
np.empty() : Crea una matriz sin inicializar sus elementos a ningún valor en particular
np.arange() : crea una matriz con valores espaciados regularmente entre un valor inicial y final
np.linspace() : crea una matriz con un número específico de valores espaciados uniformemente entre un valor inicial y final
Nota: no puede generar una matriz vacía en NumPy. Cada matriz NumPy tiene un tamaño fijo e inmutable y cada elemento de la matriz debe completarse cuando se crea la matriz.
La función np.empty() crea la forma de matriz requerida y la llena con valores aleatorios. El método predeterminado crea una matriz de flotantes aleatorios.
Puede crear un tipo de datos de matriz diferente usando el parámetro dtype .
3. Atributos de matriz
Las matrices NumPy tienen varios atributos que brindan información útil sobre la matriz. Veamos algunos de ellos:
ndarray.shape: Devuelve las dimensiones de la matriz como una tupla (filas, columnas)
ndarray.ndim: Devuelve el número de dimensiones en la matriz
ndarray.size: Devuelve el número total de elementos en la matriz
ndarray.dtype: Devuelve el tipo de datos de los elementos de la matriz
Para acceder a estos atributos, use la notación de puntos, así:
a = np.array([(1, 2, 3), (4, 5, 6)])
#Print out the array shape
print(a.shape) # Output: (2, 3)
4. Tipos de datos
NumPy proporciona varios tipos de datos para almacenar datos en matrices, como enteros, cadenas, flotantes, booleanos y complejos. De forma predeterminada, NumPy intenta deducir el tipo de datos en función de los elementos de entrada.
Sin embargo, también puede especificar explícitamente el tipo de datos utilizando la palabra clave dtype . Por ejemplo:
import numpy as np
a = np.array([1, 2, 3], dtype=float) # Creates an array of floats
Los tipos de datos NumPy comunes incluyen:
np.int32 : entero de 32 bits
np.int64: entero de 64 bits
np.float32: 32-bit floating-point number
np.float64: 64-bit floating-point number
np.complex: Complex number, represented by two 64-bit floating-point numbers
You can also convert arrays from one data type to another. In this example, here’s how we can convert the Integer array a into a Boolean array arr using the np.array() method.
From the example, we can see the array() method converts the array elements into boolean values. These boolean values then form the new NumPy array arr.
Understanding these basic concepts of NumPy will allow you to effectively work with arrays and perform a variety of mathematical NumPy operations. For example, you can check out our video on how to transform and code addresses In Python.
In it, we used Python Pandas and NumPy data types to geocode home addresses.
Array Manipulation
In this section, you will learn about various array shape manipulation techniques in NumPy. We will discuss reshaping, concatenation, copying, splitting, adding/removing elements, indexing, and slicing.
These techniques are crucial for effectively working with array data in your data science projects.
Let’s dive into each sub-section.
1. Reshaping
Reshaping an array in NumPy is a common task you’ll perform. You might need to change the shape of your array to match the requirements of a function or an algorithm.
To reshape an array, use the reshape() function:
arr = np.array([1, 2, 3, 4, 5, 6])
new_arr = arr.reshape(2, 3)
This will convert your one-dimensional array into a two-dimensional array with 2 rows and 3 columns.
Note: Make sure the new shape you provide has the same size (number of array elements) as the original array.
2. Copying
You can copy the elements in one NumPy array to another using the copy() method. You should note that using the assignment operator ‘=’ creates a shallow copy.
#Creating a shallow copy of a NumPy array
a = np.array([9, 6, 12, 16, 20])
b = a
b[0] = 19
print(a) #Output:[19, 6, 12, 16, 20]
print(b) #Output:[19, 6, 12, 16, 20]
The new array only references the old array in the system’s memory. They contain the same elements and they are not independent of each other.
By using the deep copy, you create a new NumPy array that contains the same data as the old one while being independent of it.
#Creating a deep copy of a NumPy array
a = np.array([9, 6, 12, 16, 20])
b = np.copy(a)
b[0] = 19
print(a) #Output:[9, 6, 12, 16, 20]
print(b) #Output:[19, 6, 12, 16, 20]
3. Concatenation
Occasionally, you may need to merge two arrays into a single one. In NumPy, you can use the concatenate() function to join arrays along an existing axis:
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
result = np.concatenate((arr1, arr2))
This combines arr1 and arr2 into a single array. Keep in mind that the arrays being concatenated should have the same shape, except along the specified axis.
4. Splitting
Splitting is the opposite of concatenation. You can divide an array into smaller sub-arrays using the split() function:
arr = np.array([1, 2, 3, 4, 5, 6])
result = np.split(arr, 3)
This splits the array into 3 equal-sized sub-arrays. Ensure that the number of splits you specify can evenly divide the size of the array along the given axis.
5. Adding/Removing Elements
Adding or removing elements in a NumPy array can be achieved using the append() and delete() functions. You can use the former to append values to the end of the array while the latter deletes the element at a specified index.
Here’s an example:
arr = np.array([1, 2, 3])
arr = np.append(arr, [4, 5, 6]) # Appends values to the end of the array
arr = np.delete(arr, 0) # Removes the array element on index 0
Keep in mind that NumPy arrays have a fixed size. When using append() or delete(), a new array is created, and the original one is not modified.
6. Indexing
You can perform indexing operations on NumPy arrays the same way you’d do them on Python lists or tuples. Let’s look at how you can access or change array elements in a given array.
arr = np.array([1, 2, 3])
#Returns the array element on index 1
element_2 = b[1]
#Change the array element on index 0
arr[0]= 89
7. Slicing
You can also slice NumPy arrays to extract or view a section of the data the same way you’d do Python lists or sets. Let’s take a look at an example below:
arr1 = np.array([1, 2, 3, 4, 5, 6, 7])
arr2 = np.array([(1, 2, 3, 6, 0), (4, 5, 6, 11, 13)])
# To return the first 3 elements of arr1
print(arr1[0:3]) #Output: [1, 2, 3]
# To return the second row in arr2
b = arr2[1, : ].copy() #Output: [4, 5, 6, 11, 13]
Note: Slicing creates a shallow copy that still references the main array. So, any change you make to the sliced data will be applied to the main array and vice versa.
To avoid this, you can use the copy() method to create a deep, independent copy.
Elementary Functions
In this section, you’ll learn about different elementary functions in NumPy, which will ease your data analysis tasks. We’ll cover arithmetic operations, trigonometry, and exponents and logarithms.
1. Arithmetic Operations
NumPy offers various math operations on arrays that make them simple and efficient to work with. array mathematics vector math
Some of the operations are:
Addition: numpy.add(x1, x2)
Subtraction: numpy.subtract(x1, x2)
Multiplication: numpy.multiply(x1, x2)
Division: numpy.divide(x1, x2)
Modulus: numpy.mod(x1, x2)
Power: numpy.power(x1, x2)
Square root: numpy.sqrt(x)
Note: When using these operations, the two arrays must be the same shape. If not, you’ll run into errors.
There is an exception for certain arrays thanks to a NumPy feature called broadcasting. We’ll cover that in a later section.
You can perform these operations element-wise on the arrays, which makes them highly efficient for large-scale data manipulation.
2. Trigonometry
Trigonometric functions play a significant role in various mathematical and scientific computations. NumPy provides a wide range of trigonometric functions.
Some of the essential functions are:
Sine: numpy.sin(x)
Cosine: numpy.cos(x)
Tangent: numpy.tan(x)
Arcsine: numpy.arcsin(x)
Arccosine: numpy.arccos(x)
Arctangent: numpy.arctan(x)
These functions work seamlessly with arrays, making it easier for you to perform vectorized computations on large datasets.
3. Exponents and Logarithms
Exponents and logarithms are crucial for various numerical operations. NumPy provides an extensive collection of functions for dealing with exponents and logarithms.
Some of the primary functions are:
Exponential: numpy.exp(x)
Logarithm(base e): numpy.log(x)
Logarithm(base 10): numpy.log10(x)
Logarithm(base 2): numpy.log2(x)
Utilizing these functions, you can quickly perform complex mathematical operations on each element in the array. This makes your data analysis tasks more accessible and efficient.
Array Analysis
In this section, we will discuss various techniques to analyze arrays and array elements in NumPy. Some of the key features we will cover include aggregate functions, statistical functions, searching, and sorting.
1. Aggregate Functions
NumPy provides several aggregate functions that allow you to perform operations on arrays, such as summing all their elements, finding the minimum or maximum value, and more:
sum: np.sum(your_array) – Calculate the sum of all the elements in the array.
min: np.min(your_array) – Find the minimum array element.
max: np.max(your_array) – Find the maximum array element.
mean : np.mean(your_array) – Calcula la media de los valores en la matriz.
mediana : np.median(your_array) – Encuentra la mediana de los valores en la matriz.
2. Funciones estadísticas
NumPy también tiene una variedad de funciones estadísticas para ayudarlo a analizar datos:
std: np.std(your_array) – Calcula la desviación estándar de los valores en la matriz.
var: np.var(your_array) – Calcula la varianza de los valores en la matriz.
corrcoef : np.corrcoef(your_array) – Calcula el coeficiente de correlación de la matriz.
3. Buscando
La búsqueda en matrices NumPy se puede realizar mediante varios métodos:
argmin: np.argmin(your_array) – Encuentra el índice del elemento mínimo de la matriz.
argmax: np.argmax(your_array) – Encuentre el índice del elemento máximo de la matriz.
donde: np.where(condición) – Devuelve los índices de los elementos de la matriz que satisfacen la condición dada.
4. Clasificación
Puede ordenar los elementos en su matriz usando las siguientes funciones:
sort : np.sort(your_array) – Ordena los elementos de la matriz en orden ascendente.
argsort: np.argsort(your_array) – Devuelve los índices que ordenarían la matriz.
Con estas funciones y técnicas, puede analizar y manipular convenientemente sus arreglos NumPy para descubrir información valiosa y respaldar sus esfuerzos de análisis de datos.
Funciones avanzadas
En esta sección, exploraremos algunas funciones avanzadas en NumPy para ayudarlo a trabajar de manera más eficiente con sus datos. Cubriremos las funciones de transmisión y álgebra lineal.
1. Radiodifusión
La transmisión es una característica poderosa de NumPy que le permite realizar operaciones en arreglos con diferentes formas y tamaños. Funciona al expandir automáticamente las dimensiones de la matriz más pequeña para que coincida con la matriz más grande, lo que facilita la realización de operaciones por elementos.
Aquí hay un ejemplo:
import numpy as np
A = np.array([1, 2, 3])
B = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
C = A + B
En este ejemplo, la matriz 1D A se transmite para que coincida con la forma de la matriz 2D B, lo que permite la suma de elementos.
Tenga en cuenta estas reglas cuando trabaje con la transmisión:
Las dimensiones de las matrices deben ser compatibles (o del mismo tamaño o una de ellas es 1).
La transmisión se aplica desde las dimensiones finales y trabaja hacia las dimensiones principales.
2. Álgebra lineal
NumPy proporciona varias funciones de álgebra lineal que pueden ser útiles cuando se trabaja con matrices multidimensionales. Algunas de estas funciones incluyen:
np.dot(A, B): Calcula el producto escalar de dos matrices.
np.linalg.inv(A) : Calcula la inversa de una matriz cuadrada.
np.linalg.eig(A) : Calcula los valores y vectores propios de una matriz cuadrada.
np.linalg.solve(A, B): Resuelve un sistema lineal de ecuaciones, donde A es la matriz de coeficientes y B es la matriz constante.
Recuerde comprobar siempre si sus matrices son compatibles antes de realizar estas operaciones.
Entrada y salida
En esta sección, exploraremos cómo guardar y cargar arreglos, así como también cómo leer y escribir archivos usando NumPy.
1. Guardar y cargar arreglos
Para guardar una matriz, puede usar la función np.save() de NumPy . Esta función toma el nombre del archivo y la matriz como sus dos argumentos principales.
import numpy as np
arr = np.array([1, 2, 3])
np.save('my_array.npy', arr)
Para cargar la matriz guardada, use la función np.load() , proporcionando el nombre del archivo como argumento.
loaded_array = np.load('my_array.npy')
print(loaded_array)
# Output: array([1, 2, 3])
También puede guardar y cargar varias matrices con las funciones np.save() y np.load() .
2. Leer y escribir en archivos de texto
NumPy proporciona funciones para leer y escribir archivos de texto con matrices, como np.loadtxt() y np.savetxt() . Puede usar estas funciones para guardar y cargar datos desde formatos de archivo como un archivo txt o CSV.
Para leer un archivo de texto en una matriz, use la función np.loadtxt() . Toma el nombre del archivo como su argumento principal y también admite argumentos opcionales para especificar el delimitador, el tipo de d y más.
arr_from_txt = np.loadtxt('data.txt', delimiter=',')
print(arr_from_txt)
Para leer los datos de un archivo CSV, también puede usar la función np.loadtxt() . Sin embargo, asegúrese de que el delimitador esté siempre establecido en la coma, “ , “.
Para escribir una matriz en un archivo de texto, use la función np.savetxt() . Esta función toma el nombre del archivo y la matriz como sus dos argumentos principales, seguidos de argumentos opcionales, como el delimitador y el encabezado.
arr_to_txt = np.array([[1, 2, 3], [4, 5, 6]])
np.savetxt('output_data.txt', arr_to_txt, delimiter=',')
Estas funciones de entrada y salida le permiten trabajar eficientemente con matrices y archivos de texto en sus tareas de procesamiento y manipulación de datos utilizando NumPy.
Descargue su hoja de trucos a continuación
Pensamientos finales
Bueno, ¡eso es todo lo que necesita saber para comenzar con la biblioteca Numpy Python! También puede usar la hoja de trucos de Python Numpy como una referencia útil cuando trabaje con la biblioteca.
Para obtener funciones más avanzadas, puede consultar la documentación de NumPy . También puede consultar esta divertida hoja de trucos de Python que reunimos para desarrolladores nuevos y experimentados.
¡Buena suerte!
Qué es uno mismo en Python: ejemplos del mundo real
Aprenderá a guardar y cargar objetos desde un archivo .rds en R. Este blog también cubrirá cómo importar objetos desde R a LuckyTemplates.
En este tutorial del lenguaje de codificación DAX, aprenda a usar la función GENERAR y a cambiar dinámicamente el título de una medida.
Este tutorial cubrirá cómo usar la técnica de elementos visuales dinámicos de subprocesos múltiples para crear información a partir de visualizaciones de datos dinámicos en sus informes.
En este artículo, repasaré el contexto del filtro. El contexto del filtro es uno de los temas principales que cualquier usuario de LuckyTemplates debería conocer inicialmente.
Quiero mostrar cómo el servicio en línea de LuckyTemplates Apps puede ayudar a administrar diferentes informes e información generada a partir de varias fuentes.
Aprenda a calcular los cambios de su margen de beneficio utilizando técnicas como la bifurcación de medidas y la combinación de fórmulas DAX en LuckyTemplates.
Este tutorial analizará las ideas de materialización de cachés de datos y cómo afectan el rendimiento de DAX al proporcionar resultados.
Si todavía usa Excel hasta ahora, este es el mejor momento para comenzar a usar LuckyTemplates para sus necesidades de informes comerciales.
¿Qué es la puerta de enlace de LuckyTemplates? Todo lo que necesitas saber