Las 5 funciones principales de Pandas esenciales para los científicos de datos [2022]
Publicado: 2021-01-02Pandas es claramente una de las bibliotecas más utilizadas y queridas cuando se trata de ciencia de datos y análisis de datos con Python. ¿Qué lo hace especial? En este tutorial, repasaremos 5 de esas funciones que hacen de Pandas una herramienta extremadamente útil en el kit de herramientas de un científico de datos.
Al final de este tutorial, tendrá el conocimiento de las siguientes funciones en Pandas y cómo usarlas para sus aplicaciones:
- value_counts
- agrupar por
- loc e iloc
- único y único
- Cortar y qcortar
Tabla de contenido
Principales funciones de Pandas para científicos de datos
1. value_counts()
La función value_counts() de Pandas se utiliza para mostrar los recuentos de todos los elementos únicos en las columnas de un marco de datos.
Consejo profesional: Para demostrarlo, usaré el Titanic Dataset.
Ahora, para encontrar los recuentos de clases en la función Embarcados, podemos llamar a la función value_counts:
tren[ 'Embarcado' ].value_counts() |
#Producción: S 644 168 _ P 77 |
Además, si estos números no tienen mucho sentido, puedes ver sus porcentajes en su lugar:
tren[ 'Embarcado' ].value_counts(normalize= True ) |
#Producción: S 0.724409 C0.188976 _ Q 0.086614 |
Además, value_counts no considera el NaN o los valores faltantes de forma predeterminada, lo cual es muy esencial para verificar. Para hacer eso, puede establecer el parámetro dropna como falso.
tren[ 'Embarcado' ].value_counts(dropna= False ) |
#Producción: S 644 168 _ P 77 NaN 2 |
2. agrupar_por()
Con Pandas group_by, podemos dividir y agrupar nuestro dataframe por ciertas columnas para poder ver patrones y detalles en los datos. Group_by implica 3 pasos principales: dividir, aplicar y combinar.
entrenar.groupby( 'Sexo' ).mean() |
Producción:
Como puede ver, agrupamos el marco de datos por la característica 'sexo' y lo agregamos usando los medios.
También puede trazarlo utilizando la visualización integrada de Pandas:
df.groupby( 'Sexo' ).sum().plot(tipo= 'barra' ) |
También podemos agrupar usando múltiples características para una división jerárquica.
df.groupby([ 'Sexo' , 'Sobrevivió' ] )[ 'Sobrevivió' ].count() |
Debe leer: preguntas de la entrevista de pandas
3. loc e iloc
La indexación en Pandas es una de las operaciones más básicas y la mejor manera de hacerlo es usando loc o iloc. "Loc" significa ubicación y la "i" significa ubicación indexada. En otras palabras, cuando desee indexar un marco de datos usando nombres o etiquetas de columnas/filas, usaría loc. Y cuando quiera indexar columnas o filas usando las posiciones, usaría la función iloc. Echemos un vistazo a loc primero.
tren.loc[ 2 , 'sexo' ] |
La operación anterior nos da el elemento del índice de fila 2 y la columna 'sexo'. Del mismo modo, si necesitara todos los valores de la columna de sexo, haría lo siguiente:
tren.loc[:, 'sexo' ] |
Además, puede filtrar varias columnas como:
tren.loc[:, 'sexo' , 'Embarcado' ] |
También puede filtrar usando condiciones booleanas dentro de la ubicación como:
tren.loc[tren.edad >= 25 ] |
Para ver solo ciertas filas, puede dividir el marco de datos usando loc:
tren.loc[ 100 : 200 ] |
Además, puede dividir el marco de datos en el eje de la columna como:
tren.loc[:, 'sexo' : 'tarifa' ] |
La operación anterior dividirá el marco de datos de la columna 'sexo' a 'tarifa' para todas las filas.
Ahora, pasemos a iloc. iloc solo indexa usando números de índice o las posiciones. Puede dividir marcos de datos como:
tren.iloc[ 100 : 200 , 2 : 9 ] |
Las operaciones anteriores dividirán las filas de 100 a 199 y las columnas de 2 a 8. De manera similar, si desea dividir sus datos horizontalmente, puede hacerlo:
tren.iloc[: 300 , :] |
4. único() y nunico()
Pandas unique se usa para obtener todos los valores únicos de cualquier función. Esto se usa principalmente para obtener las categorías en características categóricas en los datos. Unique muestra todos los valores únicos, incluidos los NaN. Lo trata como un valor único diferente. Vamos a ver:
entrenar[ 'sexo' ].unique() |
#Producción: [ 'femenino' , 'masculino' ] |
Como vemos, nos da los valores únicos en la función 'sexo'.
Del mismo modo, también puede verificar la cantidad de valores únicos, ya que puede haber muchos valores únicos en algunas funciones.
entrenar[ 'sexo' ].nunique() |

#Producción: 2 |
Sin embargo, debe tener en cuenta que nunique() no considera los NaN como valores únicos. Si hay NaN en sus datos, entonces deberá pasar el parámetro dropna como Falso para asegurarse de que Pandas le proporcione el recuento, incluidos los NaN también.
entrenar[ 'sexo' ].nunique(dropna= False ) |
#Producción: 3 |
5. cortar() y qcut()
El corte de pandas se usa para agrupar valores en rangos para discretizar las características. Sumerjámonos en ello. Binning significa convertir una característica numérica o continua en un conjunto discreto de valores, en función de los rangos de los valores continuos. Esto es útil cuando desea ver las tendencias según el rango en el que se encuentra el punto de datos.
Entendamos esto con un pequeño ejemplo.
Supongamos que tenemos calificaciones para 7 niños que van de 0 a 100. Ahora, podemos asignar las marcas de cada niño a un "contenedor" en particular.
df = pd.Marco de datos (datos = { 'Nombre' : [ 'Ck' , 'Ron' , 'Mat' , 'Josh' , 'Tim' , 'SypherPK' , 'Dew' , 'Vin' ], 'Marcas' :[ 37 , 91 , 66 , 42 , 99 , 81 , 45, 71 ] }) df[ 'marcas_bin' ] = pd.cut(df[ 'Marcas' ], bins=[ 0 , 50 , 70 , 100 ], etiquetas=[ 1 , 2 , 3 ]) |
Luego, podemos simplemente agregar la salida como una nueva función, y la función Marcas se puede eliminar. El nuevo marco de datos se parece a:
#Producción: Nombre Marcas marks_bin 0 ck 37 1 1 Ron 91 3 2 tapete 66 2 3 José 42 1 4 Timoteo 99 3 5 Sypher PK 81 3 6 Rocío 45 1 7 Vin 71 3 |
Entonces, cuando digo bins = [ 0 , 50 , 70 , 100 ] , significa que hay 3 rangos:
0 a 50 para el contenedor 1,
51 a 70 para el contenedor 2, y
71 a 100 pertenecientes al bin 3.
Entonces, ahora nuestra función no contiene las calificaciones, sino el rango o el contenedor en el que se encuentran las calificaciones de ese estudiante.
Similar a cut(), Pandas también ofrece su función hermana llamada qcut() . Pandas qcut toma la cantidad de cuantiles y divide los puntos de datos en cada contenedor según la distribución de datos. Entonces, podemos simplemente cambiar la función de corte de arriba a qcut:
df[ 'marcas_bin' ] = pd.qcut(df[ 'Marcas' ], q= 3 , etiquetas=[ 1 , 2 , 3 ]) |
En la operación anterior, le decimos a Pandas que corte la función en 3 partes iguales y les asigne las etiquetas. La salida viene como:
Nombre Marcas marks_bin 0 ck 37 1 1 Ron 91 3 2 tapete 66 2 3 José 42 1 4 Timoteo 99 3 5 Sypher PK 81 3 6 Rocío 45 1 7 Vin 71 2 |
Observe cómo el último valor cambió de 3 a 2.
Lea también: Pandas Dataframe Astype
Antes de que te vayas
Vimos algunas de las funciones de Pandas más utilizadas. Pero estos no son los únicos que son importantes y le recomendamos que aprenda más sobre las funciones más utilizadas de Panda. Este es un enfoque bueno y eficiente, ya que es posible que no esté utilizando todas las funciones que tiene Pandas, sino solo algunas de ellas.
Aprenda cursos de ciencia de datos de las mejores universidades del mundo. Obtenga programas Executive PG, programas de certificados avanzados o programas de maestría para acelerar su carrera.
¿Por qué es tan popular la biblioteca Pandas?
Esta biblioteca es bastante popular entre los científicos y analistas de datos. La razón de esto es su gran soporte de una gran cantidad de formatos de archivo y una rica colección de funciones para manipular los datos extraídos. Puede integrarse fácilmente con otras bibliotecas y paquetes como NumPy.
Esta poderosa biblioteca proporciona varias funciones útiles para manipular grandes conjuntos de datos de manera flexible. Una vez que lo haya dominado, puede lograr fácilmente grandes tareas con unas pocas líneas de código.
¿Qué es la función de combinación y por qué se utiliza?
La función de combinación es una función especial del marco de datos de Pandas que se utiliza para combinar varias filas o columnas de 2 marcos de datos. Es una operación de combinación de memoria alta y se parece a las bases de datos relacionales. Puede usar on = Nombre de columna para fusionar marcos de datos en la columna común.
Puede actualizar left_on = Nombre de columna o right_on = Nombre de columna para alinear tablas usando columnas del marco de datos izquierdo o derecho como claves.
Además de la biblioteca de Pandas, ¿cuáles son las otras bibliotecas de Python para la ciencia de datos?
Además de la biblioteca de Pandas, hay un montón de bibliotecas de Python que se consideran algunas de las mejores bibliotecas para la ciencia de datos. Estos incluyen PySpark, TensorFlow, Matplotlib, Scikit Learn, SciPy y muchos más. Cada uno de ellos es ampliamente utilizado por sus características y funciones únicas y sorprendentes.
Cada biblioteca tiene su propio significado, como SciKit Learn se usa con más frecuencia cuando tiene que lidiar con datos estadísticos. Además de analizar los datos, también puede crear paneles e informes visuales utilizando las funciones proporcionadas por estas increíbles bibliotecas.