Pandas: Analisis de datos
Pandas es la libreria esencial para manipulacion y analisis de datos. Proporciona estructuras de datos flexibles y herramientas para trabajar con datos tabulares.
Estructuras de datos
import pandas as pd
import numpy as np
# Series: array 1D con indice
s = pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])
# a 1
# b 2
# c 3
# d 4
# DataFrame: tabla 2D (lo mas usado)
df = pd.DataFrame({
'nombre': ['Ana', 'Luis', 'Maria'],
'edad': [25, 30, 28],
'ciudad': ['Madrid', 'Barcelona', 'Valencia']
})
Cargando datos
# CSV (mas comun)
df = pd.read_csv('datos.csv')
# Excel
df = pd.read_excel('datos.xlsx', sheet_name='Hoja1')
# JSON
df = pd.read_json('datos.json')
# Desde URL
df = pd.read_csv('https://example.com/data.csv')
# SQL
from sqlalchemy import create_engine
engine = create_engine('sqlite:///database.db')
df = pd.read_sql('SELECT * FROM tabla', engine)
Exploracion inicial
# Primeras/ultimas filas
df.head() # primeras 5
df.tail(10) # ultimas 10
# Info general
df.shape # (filas, columnas)
df.info() # tipos de datos, nulos
df.describe() # estadisticas
# Columnas y tipos
df.columns # nombres de columnas
df.dtypes # tipos de cada columna
# Valores unicos
df['columna'].unique()
df['columna'].value_counts()
Seleccion de datos
# Seleccionar columna
df['nombre'] # Series
df[['nombre', 'edad']] # DataFrame
# Seleccionar filas por indice
df.iloc[0] # primera fila
df.iloc[0:3] # filas 0, 1, 2
df.iloc[0, 1] # fila 0, columna 1
# Seleccionar por label
df.loc[0, 'nombre'] # valor especifico
df.loc[:, 'nombre'] # toda la columna