8. Base de Datos#
8.1. Pandas#
¿Qué es Pandas?
Pandas es una muy popular librería de código abierto dentro de los desarrolladores de Python, y sobre todo dentro del ámbito de Data Science y Machine Learning, ya que ofrece unas estructuras muy poderosas y flexibles que facilitan la manipulación y tratamiento de datos. Las dos estructuras de datos principales dentro del paquete Pandas son:
- Series: array unidimensional etiquetado capaz de almacenar cualquier tipo de dato.
- DataFrame: estructura bidimensional con columnas que pueden ser también de cualquier tipo. Estas columnas son a su vez Series.
Revisa para profundizar
# en caso de que no estar instalada: pip install pandas
# importamos las librerías, le damos un seudónimo a las librerias para mejorar
# legibilidad en el código.
import pandas as pd
Crear un DataFrame.: Crea un DataFrame simple a partir de un diccionario
data = {'Nombre': ['Juan', 'María', 'Carlos', 'Luis'],
'Edad': [25, 30, 35, 40],
'Ciudad': ['México', 'Madrid', 'Buenos Aires', 'Lima']}
df = pd.DataFrame(data)
print(df)
Nombre Edad Ciudad
0 Juan 25 México
1 María 30 Madrid
2 Carlos 35 Buenos Aires
3 Luis 40 Lima
Seleccionar columnas : Selecciona una columna específica del DataFrame.
print(df['Nombre'])
0 Juan
1 María
2 Carlos
3 Luis
Name: Nombre, dtype: object
Filtrar filas: Filtra filas basadas en una condición.
filtro = df['Edad'] > 30
print(df[filtro])
Nombre Edad Ciudad
2 Carlos 35 Buenos Aires
3 Luis 40 Lima
Agregar una nueva columna: Agrega una nueva columna al DataFrame.
df['Género'] = ['Hombre', 'Mujer', 'Hombre', 'Hombre']
print(df)
Nombre Edad Ciudad Género
0 Juan 25 México Hombre
1 María 30 Madrid Mujer
2 Carlos 35 Buenos Aires Hombre
3 Luis 40 Lima Hombre
Eliminar columnas : Elimina una columna del DataFrame.
df = df.drop('Ciudad', axis=1)
print(df)
Nombre Edad Género
0 Juan 25 Hombre
1 María 30 Mujer
2 Carlos 35 Hombre
3 Luis 40 Hombre
Agregar una fila: Agrega una nueva fila al DataFrame.
nueva_fila = pd.DataFrame({'Nombre': ['Laura'], 'Edad': [28], 'Ciudad': ['Barcelona'],
'Género': ['Mujer']})
df = pd.concat([df, nueva_fila], ignore_index=True)
print(df)
Nombre Edad Género Ciudad
0 Juan 25 Hombre NaN
1 María 30 Mujer NaN
2 Carlos 35 Hombre NaN
3 Luis 40 Hombre NaN
4 Laura 28 Mujer Barcelona
Eliminar filas: Elimina filas del DataFrame.
df = df.drop(0)
print(df)
Nombre Edad Género Ciudad
1 María 30 Mujer NaN
2 Carlos 35 Hombre NaN
3 Luis 40 Hombre NaN
4 Laura 28 Mujer Barcelona
Exportar a CSV : Exporta el DataFrame a un archivo CSV.
df.to_csv('nuevo_archivo.csv', index=False)
8.2. Numpy#
Numpy es una librería de Python especializada en el cálculo numérico y el análisis de datos, especialmente para un gran volumen de datos.Incorpora una nueva clase de objetos llamados arrays que permite representar colecciones de datos de un mismo tipo en varias dimensiones, y funciones muy eficientes para su manipulación.
Para crear un array se utiliza la siguiente función de NumPy
- np.array(lista): Crea un array a partir de la lista o tupla lista y devuelve una referencia a él. El número de dimensiones del array dependerá de las listas o tuplas anidadas en lista:
- Para una lista de valores se crea un array de una dimensión, también conocido como vector.
- Para una lista de listas de valores se crea un array de dos dimensiones, también conocido como matriz.
- Para una lista de listas de listas de valores se crea un array de tres dimensiones, también conocido como cubo.
- Y así sucesivamente. No hay límite en el número de dimensiones del array más allá de la memoria disponible en el sistema.
Revisa información para profundizar
import numpy as np
# Crear un array NumPy unidimensional
array_unidimensional = np.array([1, 2, 3, 4, 5])
print("Array unidimensional:")
print(array_unidimensional)
# Crear un array NumPy bidimensional (matriz)
array_bidimensional = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print("\nArray bidimensional:")
print(array_bidimensional)
Array unidimensional:
[1 2 3 4 5]
Array bidimensional:
[[1 2 3]
[4 5 6]
[7 8 9]]
import numpy as np
# Crear dos arrays NumPy
array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])
# Suma de arrays
suma = array1 + array2
print("Suma de arrays:")
print(suma)
# Producto de arrays
producto = array1 * array2
print("\nProducto de arrays:")
print(producto)
# Operaciones matemáticas
cuadrado = np.square(array1)
print("\nCuadrado de array1:")
print(cuadrado)
Suma de arrays:
[5 7 9]
Producto de arrays:
[ 4 10 18]
Cuadrado de array1:
[1 4 9]
import numpy as np
# Generar datos aleatorios
datos_aleatorios = np.random.rand(5) # Array unidimensional de 5 números aleatorios entre 0 y 1
print("Datos aleatorios:")
print(datos_aleatorios)
# Generar matriz de números aleatorios
matriz_aleatoria = np.random.randint(1, 10, size=(3, 3)) # Matriz 3x3 de números aleatorios entre 1 y 9
print("\nMatriz aleatoria:")
print(matriz_aleatoria)
Datos aleatorios:
[0.08700418 0.38533188 0.63845653 0.52026951 0.86656852]
Matriz aleatoria:
[[1 4 8]
[3 7 7]
[7 3 5]]
import numpy as np
# Crear un array NumPy
mi_array = np.array([1, 2, 3, 4, 5])
# Acceder a un elemento específico
print("Primer elemento:", mi_array[0])
# Acceder a un rango de elementos
print("Primeros tres elementos:", mi_array[:3])
# Modificar un elemento
mi_array[2] = 10
print("Array modificado:", mi_array)
Primer elemento: 1
Primeros tres elementos: [1 2 3]
Array modificado: [ 1 2 10 4 5]