Está en la página 1de 3

Hoja informativa: Cambiar tipos

de datos

Práctica
Python

# procesar excepciones
try:
# el código que podría tener un error
except:
# qué se debe hacer en caso de que haya un error

pandas
Dataset

# Leer un archivo Excel.


# Dos argumentos: una string con el nombre del archivo y sheet_name
# Si no hay un segundo argumento, se leerá la primera hoja

df = pd.read_excel('file.xlsx', sheet_name='Лист 1')


df = pd.read_excel('file.xlsx')

# Unir dos datasets


# Parámetros:
# - el dataset al que unimos los datos
# - on - la columna que estamos usando para unir las tablas (común a ambas)
# - how - tipo de fusión:
# - left - los datos de la tabla deben no tener valores ausentes, data2 puede tener Na
N
# - right - la tabla data2 debe no tener valores ausentes, los datos pueden tener NaN

Hoja informativa: Cambiar tipos de datos 1


data.merge(data2, on='merge_column', how='left')
data.merge(data2, on='merge_column', how='right')

# Crear una tabla dinámica


# Argumentos:
# index: la columna o columnas cuyos valores se convierten en índices en la tabla dinámica
# columns: la columna cuyos valores se convierten en columnas en la tabla dinámica
# values: los valores que queremos agregar en la tabla dinámica
# aggfunc: la función de agregación (ver más abajo) que estamos aplicando a los valores

data_pivot = data.pivot_table(index=['column1', 'column2'], columns='source',


values='column_pivot', aggfunc='function')

Columna

# Convertir una columna con tipo str a tipo float


# Parámetros: columna de un DataFrame, errors: cómo manejar los errores
# errors='raise': comportamiento predeterminado, por el cual los valores inválidos generan
errores, bloqueando la conversión a números
# `errors='coerce'`: los valores incorrectos se reemplazan por `NaN`
# `errors='ignore'`: los valores incorrectos simplemente se ignoran y se omiten

pd.to_numeric(data['column'])
pd.to_numeric(data['column'], errors='raise' )
pd.to_numeric(data['column'], errors='coerce')
pd.to_numeric(data['column'], errors='ignore')

# Crea una nueva columna sin reemplazar la anterior

data['column'] = pd.to_numeric(data['column'])

# Convierte valores de columna a un tipo diferente (int para números enteros, por ejemplo)

data['column'].astype('type')

# Crea una nueva columna sin reemplazar la anterior

data['column'] = data['column'].astype('type')

# Convertir cadenas a fecha y hora


# Segundo argumento obligatorio: cadena de formato elegida de las siguientes:
# %d: día del mes (01 a 31)
# %m: mes (01 a 12)

Hoja informativa: Cambiar tipos de datos 2


# %Y: año de cuatro dígitos (2019)
# Z: separador estándar para fecha y hora
# %H: hora en formato de 24 horas
# %I: hora en formato de 12 horas
# %M` minutos (00 a 59)
# %S: segundos (00 a 59)
# Por ejempo: 20.03.2017 11:00:50 -> '%d.%m.%Y %H:%M:%S'

pd.to_datetime(data['date_time_column'], format='%d.%m.%Y %H:%M:%S')

# Crea una nueva columna sin reemplazar la anterior

data['date_time_column'] = pd.to_datetime(data['date_time_column'], format='%d.%m.%Y %H:%


M:%S')

# Obtener elementos individuales de fecha/hora

pd.DatetimeIndex(data['time']).year
pd.DatetimeIndex(data['time']).month
pd.DatetimeIndex(data['time']).day
pd.DatetimeIndex(data['time']).hour
pd.DatetimeIndex(data['time']).minute
pd.DatetimeIndex(data['time']).second

Teoría
Tiempo Unix - este formato nos da la cantidad de segundos que han pasado desde las
00:00:00 del 1° de enero de 1970.
Tabla dinámica - una tabla que resume los datos en una tabla más grande

Hoja informativa: Cambiar tipos de datos 3

También podría gustarte