Para tranformar dtype object a datetime:
pd.to_datetime(
df_meteorites['year'],
errors = 'coerce',
format ='%m/%d/%Y %H:%M:%S %p'
)
Comenzando con pandas
¿Qué es pandas?
Series e Indexación y selección de datos
De paneles de datos al DataFrame
Indexado y manejo de archivos CSV
Conexión con bases de datos tipo SQL
Ventajas y desventajas de los formatos de importar y guardado
Funcionalidades básicas y esenciales de pandas
Formatos de lectura para cargar y guardar DataFrames
Tipos de Variables que componen un data frame
Estructuras de dataframes en detalle
Borrar filas, columnas y copiar información
Aplicando pandas
Funciones matemáticas
Funciones más complejas y lambdas
Múltiples índices
Cómo trabajar con variables tipo texto en Pandas
Concatenación de DataFrames: concat y append
Merge de DataFrames
¿Cómo lidiar con datos faltantes en tus DataFrames?
Group by
Cómo lidiar con datos duplicados en Pandas
Aggregation y groupby
Group By: extraer valor con variables categóricas
Tablas dinámicas con Pivot Table
Series de Tiempo
Series de Tiempo: variables nulas
Visualización y graficación de datos
Contenido extra
Iniciando una rutina típica de manejo de datos
Preprocesamiento de datos: terminando de preparar y limpiar los datasets
Análisis de datos
Aún no tienes acceso a esta clase
Crea una cuenta y continúa viendo este curso
Aportes 27
Preguntas 10
Para tranformar dtype object a datetime:
pd.to_datetime(
df_meteorites['year'],
errors = 'coerce',
format ='%m/%d/%Y %H:%M:%S %p'
)
.
Cuando se tiene variables categóricas se hace un mapeo numérico. Para eso hay 2 métodos, de manera que sean fácilmente interpretables en modelos de machine learning:
.
Dummy: Es la representación más compacta que se puede tener de los datos. Es mejor usarla cuando los inputs son variables linealmente independientes (no tienen un grado de correlación significativo). Es decir, las cuando se sabe que las categorías son independientes entre sí.
One-hot: Es más extenso. Permite incluir categorías que no estaban en el dataset inicialmente. De forma que si se filtra una categoría que no estaba incluida, igual se pueda representar numéricamente y no de error en el modelo (este modelo es más cool y es el que se usa).
.
Hay errores en la notación de Pandas y los tratan como que ambos modelos son lo mismo, pero en la realidad el Dummy no se usa. Aún así, en Pandas el método es .get_dummies() para realizar un procesamiento one-hot.
.
Podemos utilizar tambié:
df = pd.read_csv(‘filename.csv’, parse_dates=[‘file_date’])
Otra forma de ver las columnas de un Dataframe sin usar list, es:
df_meteorites.columns
Por si le sirve a alguien, el archivo actual descarga la columna ‘year’ solo con el año, por lo que para cambiarla a formato Datetime, solo tienen que poner en format = ‘%Y’ , de lo contrario les va da error.
pd.to_datetime(
df_meteorites['year'],
errors='coerce',
format= '%Y'
Aprenderemos en detalle las diferentes variables que podemos llegar a encontrar en un mismo dataframe como variables categóricas, tipo tiempo, de texto, numéricas como float y enteras.
Nota: Recordemos que una gran ventaja de trabajar con variables categóricas es que se reduce el uso de memoria ram y también el espacio que ocupan los archivos.
.
.
** Avoid storing data as string (when is possible)
Cuando hago el proceso de cambio de los datos en Year a un formato datetime, me aparece NaT en los valores, pero el dtype como datetime64[ns]. Alguien sabe por qué puede estar sucediendo esto?
Por otro lado, no hubiese sido más sencillo hacerlo al cargar el archivo usando parse_dates? Agradezco quien pueda responderme 😃
Una ventaja de usar variables categóricas es que normalmente se necesita menos memoria RAM y también ocupan menos espacio los archivos.
Es muy útil transformar los dos valores de la categoría “fell” en dummies, cuando se trabaja con muchas más categorías 3 o más siempre se debe hacer eso, al menos cuando son variables de tipo nominal y se desea lanzar una regresión, esto evita el problema de colinealidad perfecta, en la econometría se profundiza mucho sobre este tema.
Para cambiar el tipo de dato una variable:
df_info['martricula'] = df_info['matricula'].astype(int)
Para un conjunto de variables:
df_info[['matricula', 'otro_valor_numerico']] = df_info[['matricula', 'otro_valor_numerico']].astype(int)
Hava a nice code!
Una manera que se puede hacer para no colocar el format es:
df['year'] = pd.to_datetime(df['year'], errors = 'coerce')
el lugar donde encontré esto fue:
las variables dummys son muy util a la hora de hacer modelos de regresion de nuestros datos.
Una variable dummy sirve para representar la presencia o la ausencia de un valor en algo, si está presente toma el valor 1 y sino está presente toma el valor 0 y esto lo podemos aplicar para cada categoria
Algunas de sus ventajas son:
Lo podemos resumir en:
"Simplificar las categorias para analizarlas todas con la misma herramientas, es como adaptar una llave para que sea capaz de usarse en muchas tuercas que para nosotros serían columnas (o categorias)"
Esto ya empieza a pacerce a una base de datos tipo SQL al tomar esos cursos antes que este siento que entiendo un montón más.
pd.to_datetime(df_meteorites[‘year’],
errors =‘coerce’,
format=’%m/%d/%Y %H:%M:%S %p’)
errors Coerce: cuando detecta un valor que no corresponde a tiempo genera una variable no numerica
Esta clase me tardó como 2 horas, la intención es aprender y reforzar los conocimientos.
Es rico ir rápido, pero es mejor si disfrutamos el proceso
👾
Estructuras de Dataframes
al usar df_meteorites.convert_dtypes()
este nos da unicamente cuales son las mejores opciones, pero ¿cómo hago para que esos data types se guarden tal cual?
Nosotros podemos asignar valores nuevos a un dataframe ya creado, con:
import pandas as pd
df = pd.DataFrame(
{
'edad':[10, 12, 11, 10],
'grado_escolar':[5, 7, 7, 6]
}, index=['Juan', 'Jose', 'alejandro', 'camilo'])
Para asignar nuevos valores, por ejemplo cambiando los valores de una persona hacia otra se hace asi:
df.loc['Juan', :] = df.loc['Jose', :]
o asi tambien
df.loc['Juan', :] = df.loc['Jose', :].values
Ok, esta clase me destrozó
errors = 'coerce' cuando no encuentra un formato correspondiente a tiempo crea un variable no numerica
Aqui esta el resumen de los comandos que hemos visto, espero que sea de utilidad.
Un pequeño aporte: cuando hace la transformación de las categorías en 0 y 1 y las agrega en diferentes columnas es debido a que cuando se realiza una regresión como variables independientes no genere un problema que se llama colinealidad perfecta, es decir que una variable se relacione con si misma.
Entendido y poniéndolo en práctica
Variables de tiempo.
excelente
¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.