Mastering Pandas: funciones importantes de Pandas para su próximo proyecto
Publicado: 2020-11-30La biblioteca de Pandas ha sido una de las favoritas de todos los científicos de datos o analistas debido a su naturaleza fácil de usar, una amplia gama de funcionalidades y una mejor interpretación de los resultados. Se recomienda a cualquier persona que comience su viaje de ciencia de datos que tenga un buen dominio de los pandas, cree canalizaciones para reducir el esfuerzo manual de limpieza y preprocesamiento de los datos.
Pandas se basa en Numpy, lo que permite una ejecución más rápida de los comandos y hacer el trabajo en menos tiempo. En este artículo, compartiremos algunas funciones pandas subestimadas que pueden enriquecer la calidad del código de su proyecto.
Antes de continuar, aquí hay una leyenda rápida:
- Todos los comandos mencionados asumen que el marco de datos se denomina 'df', que es un objeto de pd.DataFrame()
- La biblioteca de Pandas se ha importado como un alias como 'pd'.
Tabla de contenido
Accesorios de cadena
Los datos de cadena o de texto contribuyen en gran medida a un conjunto de datos. Ya sea información relacionada con el autor, el título, la publicación de un libro o tweets hechos para un hashtag en particular, tenemos muchos datos de texto y estos datos son útiles cuando se limpian adecuadamente y se alimentan a cualquier clasificador como Naive Bayes, etc. Aquí tienes algunos trucos que puedes aplicar:
- Para acceder a los datos de tipo cadena, use el accesor 'str'. Por ejemplo, df['column_name'].str
- Esto hace posible realizar todas las operaciones de cadena en la columna seleccionada.
- Algunas operaciones comunes incluyen,
- df['column_name'].str.len(): longitud de cada cadena
- .str.split (): división en un carácter particular
- .str.contains(): Devuelve T/F sobre si la palabra en particular está presente en la cadena
- .str.count(): Devuelve el recuento de filas que satisfacen la expresión regular pasada.
- .str.findall(): Devuelve los resultados que coinciden con la expresión pasada.
- .str.replace (): igual que findall pero aquí se reemplazan los elementos coincidentes
- Se admiten todas las operaciones de cadena como .title, .isalpha, .isalnum, .isdecimal, etc.
Lea también: Pandas Dataframe Astype
Accesores de fecha y hora
Las fechas y la hora suelen estar presentes en los conjuntos de datos en forma de marcas de tiempo, hora de inicio, hora de finalización o cualquier otro momento asociado con ese evento. Es útil analizar estos datos correctamente, ya que brinda tendencias a lo largo de una línea de tiempo que se puede utilizar para predecir eventos futuros o lo llamamos citar como análisis de series de tiempo. Veamos algunos comandos útiles:
- Para acceder a los datos de DateTime, convierta el tipo de datos actual (los valores de fecha se analizan como cadenas u objetos) a DateTime mediante la función pd.to_datetime().
- Ahora, usando el descriptor de acceso '.dt', podemos acceder a cualquier información de fecha y hora requerida, como:
- df['column_name'].dt.day: Devuelve el día de la fecha.
- .dt.time: Tiempo
- .dt.year: Año de la fecha
- .dt.month: Mes de la fecha
- .dt.weekday: Si es domingo, lunes… en forma numérica donde 0 representa el lunes. Si desea nombres de días, utilice .dt.day_name
- .dt.is_month_start: Devuelve V/F dependiendo de si la fecha es el primero del mes.
- .dt.is_month_end Misma funcionalidad que month_start pero aquí se verifica la última fecha del mes.
- .dt.quater: Devuelve en qué trimestre se encuentra la fecha
- .dt.is_quater_start: Devuelve V/F si la fecha es el primer día del trimestre
- .dt.is_quater_end: si es el último día del trimestre
- .dt.normalize: cuando el componente de tiempo no agrega una contribución valiosa al análisis, se puede ignorar. Este comando redondea el tiempo hasta la medianoche, es decir, 00:00:00.
Trazado de pandas
Trazar visualizaciones es uno de los componentes clave del análisis de datos y juega un papel importante al realizar la ingeniería de características. Por ejemplo, los valores atípicos en un conjunto de datos se pueden detectar mediante diagramas de caja que representan la mediana y el rango intercuartílico, dejando los valores atípicos en los extremos.

El trazado se realiza principalmente a través de otras bibliotecas, como seaborn, plotly, bokeh, matplotlib, pero ¿cuándo desea visualizar datos al instante sin definir explícitamente las bibliotecas? Los pandas tienen la solución. Usando la función pd.plot(), puede trazar directamente gráficos que se invocan internamente usando matplotlib. Varias opciones disponibles para esto:
- df.plot() o df['column_name'].plot() (según el tipo de gráfico)
- df.plot() tiene el parámetro 'tipo' que define el gráfico. Por defecto, es un gráfico de 'líneas', pero otras opciones disponibles son 'barra', 'barh', 'caja', 'hist', 'kde', etc.
- Invoca el backend de matplotlib, lo que significa que podemos acceder a sus argumentos a través de un accesor 'ax'.
- La función .plot() también puede tomar argumentos como 'título', 'xticks', 'xlim', 'xlabel', 'fontsize', 'colormap', lo que elimina la necesidad de definir bibliotecas externas hasta cierto punto.
Funciones misceláneas
- pd.get_dummies(): mientras preprocesamos datos, a veces nos encontramos con datos categóricos que deben convertirse a formato numérico para alimentar el modelo. Cuando estas categorías son bastante bajas, se prefiere la codificación one-hot, pero hacerlo manualmente lleva bastante tiempo. Esta función de dummies no solo transforma los valores, sino que, si drop_first se establece en True, elimina la columna anterior que contiene todas las categorías.
- df.query(): Es la función que le permite aplicar la máscara condicional sobre el marco de datos. La diferencia básica entre este y el enmascaramiento normal es que esta función devuelve directamente los valores en lugar de la máscara booleana, lo que reduce el esfuerzo de crear la máscara y aplicarla al marco de datos.
- df.select_dtypes(): A veces necesitamos realizar algunas tareas específicas en un tipo de tipo de datos. Por ejemplo, al leer datos de archivos externos, algunos tipos de datos se definen como objetos. Al limpiar los datos, el conjunto de datos debe tener todos los tipos de datos correctos, y hacerlo manualmente mediante df.astype('data-type') sería tedioso cuando la cantidad de dichos tipos de datos es grande. Esta función selecciona el tipo de datos especificado y se puede combinar con la función .apply(). Un código de muestra se vería así:
df.select_dtypes(objeto).apply(astype(str))
Debe leer: preguntas de la entrevista de pandas
Conclusión
Esta asignación se conoce como encadenamiento y es muy común al realizar tareas de ciencia de datos para reducir el esfuerzo de definir variables para cada paso a realizar.
Si tiene curiosidad por aprender sobre Pandas, consulte el Diploma PG en ciencia de datos de IIIT-B y upGrad, creado para profesionales que trabajan y ofrece más de 10 estudios de casos y proyectos, talleres prácticos, tutoría con expertos de la industria, 1-on -1 con mentores de la industria, más de 400 horas de aprendizaje y asistencia laboral con las mejores empresas.
