Base de Datos

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]