21 consejos de pandas que todo científico de datos debe saber: hacia la IA

Estás leyendo la publicación: 21 consejos de pandas que todo científico de datos debe saber: hacia la IA

Maximice sus habilidades de pandas: consejos y trucos esenciales para dominar la manipulación de datos

Ya sea que sea un analista de datos principiante o experimentado, los 21 consejos y trucos incluidos en este artículo lo ayudarán a abordar cualquier tarea analítica con facilidad. Desde escribir un código limpio hasta evitar reinventar la rueda, estos consejos lo ayudarán a trabajar de manera más inteligente, no más difícil. Descubre las gemas ocultas de Pandas y conviértete en un usuario maestro en muy poco tiempo. Y si tienes algún consejo adicional para compartir, no dudes en dejar un comentario.

La mayoría de los consejos son de

Publicaciones de LinkedIn.

1: Imprimir DataFrame en formato compatible con Markdown

Markdown es un lenguaje de marcado ligero que se utiliza para crear texto formateado mediante un editor de texto sin formato. A veces, es posible que desee incluir una tabla en un descuento, como GitHub README o Latex.

Si desea imprimir un DataFrame en formato de descuento, use la función to_markdown().

| | un | segundo | |—:|—-:|—-:| | 0 | 1 | 5 | | 1 | 2 | 6 | | 2 | 3 | 7 | | 3 | 4 | 8 | +—-+—–+—–+ | | un | segundo | +====+=====+=====+ | 0 | 1 | 5 | +—-+—–+—–+ | 1 | 2 | 6 | +—-+—–+—–+ | 2 | 3 | 7 | +—-+—–+—–+ | 3 | 4 | 8 | +—-+—–+—–+

2: filas de grupo en una lista

Es común usar groupby para obtener las estadísticas de filas en el mismo grupo, como recuento, media, mediana, etc. Si desea agrupar filas en una lista, use “lambda x: lista (x)”.

col1 col3 col2 a 1.5 [d, e]
segundo 3.5 [f, g]
c3.0 [h]

3: trama de datos.explotar()

Cuando trabaje con un DataFrame, si desea convertir una cadena en una lista y luego dividir los elementos de una lista en varias filas, use la combinación de str.split() y explosion().

ab 0 [1, 2] 11 1 [4, 5] 13 ab 0 1 11 0 2 11 1 4 13 1 5 13

4: Marco de datos.copia()

¿Alguna vez ha intentado hacer una copia de un usuario de DataFrame “=”? No obtendrá una copia sino una referencia al DataFrame original. Por lo tanto, cambiar el nuevo DataFrame también cambiará el DataFrame original.

Una mejor manera de hacer una copia es usar df.copy(). Ahora, cambiar la copia no afectará el DataFrame original.

col1 col2 0 7 4 1 8 5 2 9 6 col1 col2 0 1 4 1 2 5 2 3 6

5: Groupby().count vs Groupby().tamaño

  • Si desea obtener el recuento de elementos en una columna de un DataFrame de Pandas, use groupby y count.
  • Si desea obtener el tamaño de grupos compuestos por 2 o más columnas, use groupby y size en su lugar.
🔥 Recomendado:  Negocios interesantes en venta en todo el país ahora mismo

col2 col1 a 1 b 2 c 2 d 1 col1 col2 a S 1 b M 1 S 1 c L 2 d L 1 dtype: int64

6: Correlación

Si desea calcular la correlación entre filas o columnas de dos DataFrame, use .corrwith().

a 0.94388 b 0.68313 dtipo: float64

7: Tabulación cruzada

La tabulación cruzada le permite analizar la relación entre múltiples variables. Para convertir un DataFrame de Pandas en una tabulación cruzada, use pandas.crosstab().

persona2 Ben Jone Patrick Smith Warren persona1 Ben 0 0 1 1 0 Jone 0 0 0 0 1 Patrick 1 0 0 1 0 Smith 1 0 1 0 1 Warren 0 1 0 1 0

8: Marco de datos.consulta()

Puede llevar mucho tiempo filtrar columnas de pandas DataFrame usando corchetes. Para acortar las declaraciones de filtrado, use df.query() en su lugar.

fruta precio 2 uva 6 3 uva 7 fruta precio 2 uva 6 3 uva 7

9: Marco de datos sin pivotar

  • Si desea cambiar un DataFrame de formato ancho a largo, use pandas.melt().
  • Por ejemplo, puede usar pandas.melt() para convertir varias columnas (“Aldi”, “Walmart”, “Costco”) en valores de una columna (“tienda”).

fruta Aldi Walmart Costco 0 manzana 4 6 1 1 naranja 5 7 2 valor de la tienda de frutas 0 manzana Aldi 4 1 naranja Aldi 5 2 manzana Walmart 6 3 naranja Walmart 7 4 manzana Costco 1 5 naranja Costco 2

10: Cambiar el nombre de la columna agregada

De forma predeterminada, agregar una columna devuelve el nombre de esa columna.

Si desea asignar un nuevo nombre a la agregación, use name = (column, agg_method).

precio talla L 19.000 M 10.000 S 36.995 precio medio talla L 19.000 M 10.000 S 36.995

11: Recuentos de valores normalizados

  • Si desea obtener el recuento de un valor en una columna, use value_counts.
  • Sin embargo, si desea obtener el porcentaje de un valor en una columna, agregue normalize=True a value_counts.

S 4 M 2 L 1 XL 1 dtipo: int64 S 0,500 M 0,250 L 0,125 XL 0,125 dtipo: float64

12: df.transform() en lugar de df.count()

  • Para filtrar pandas DataFrame en función de las apariciones de categorías, puede intentar utilizar df.groupby y df.count. Sin embargo, dado que la Serie devuelta por el método de conteo es más corta que el DataFrame original, obtendrá un error al filtrar.
  • En lugar de usar contar, use transformar. Este método devolverá la Serie con la misma longitud que el DataFrame original. Ahora puede filtrar sin encontrar ningún error.

tipo valor 0 A 5 1 A 3 2 O 2 4 O 7 5 A 3

13: Complete los valores nulos

  • Si desea completar valores nulos en un DataFrame con valores no nulos en las mismas ubicaciones desde otro DataFrame, use pandas.DataFrame.combine_first.
  • En el siguiente código, los valores de la primera fila de store1 se actualizan con los valores de la primera fila de store2.
🔥 Recomendado:  Uso de IA para mejorar su revisión de literatura: Hacia la IA

naranja manzana 0 31,0 4,0 1 5,0 71,0 2 9,0 12,0

14: El valor cuenta los valores faltantes

De forma predeterminada, pandas.value_counts() ignora los valores faltantes. Pase dropna=False para que cuente los valores faltantes.

15: Filtrar columnas en DataFrame

Si desea filtrar las columnas de un DataFrame de pandas según los caracteres de sus nombres, use DataFrame.filter. Esto puede ser útil si crea variables ficticias y desea seleccionar columnas según el prefijo.

Temp Grado 0 Caliente 35 1 Frío 3 2 Tibio 15 3 Frío 2 Grado Temp_Frío Temp_Hot Temp_Warm 0 35 0 1 0 1 3 1 0 0 2 15 0 0 1 3 2 1 0 0 Temp_Frío Temp_Hot Temp_Warm 0 0 1 0 1 1 0 0 2 0 0 1 3 1 0 0

16: Convertir tipos de datos automáticamente

Si no conoce los dtypes de las columnas en su DataFrame, puede usar convert_dtypes() para convertir rápidamente las columnas a los mejores tipos posibles.

17: Asignar nuevas columnas a un DataFrame

Use el método Dataframe.assign() para asignar nuevas columnas a su DataFrame, Dataframe.assign() devuelve un nuevo objeto (una copia) con las nuevas columnas agregadas a las originales. Las columnas existentes que se reasignan se sobrescribirán.

text text_len word_count fin de semana 0 sábado: fin de semana (día no laborable) 35 5 Verdadero 1 domingo: fin de semana (día no laborable) 33 5 Verdadero 2 lunes: cita con el médico a las 14:45. 37 5 Falso 3 martes: cita con el dentista a las 11:30 h. 41 6 Falso 4 miércoles: partido de baloncesto a las 7:00 p. m. 36 5 Falso 5 jueves: regreso a casa a las 11:15 p. m. 32 6 Falso 6 viernes: tomar el tren a las 08:10 am. 35 7 Falso

18: Leer tablas HTML

.read_html() puede ser útil para incorporar rápidamente tablas de varios sitios web sin saber cómo raspar el HTML del sitio.

Año Cargo GOP DFL Otros 0 2020 Presidente 45,3% 52,4% 2,3% 1 2020 Senador 43,5% 48,8% 7,7% 2 2018 Gobernador 42,4% 53,9% 3,7% 3 2018 Senador 36,2% 60,3% 3,4% 4 2018 Senador 42,4% 53,0% 4,6% Ubicación Julio (°F) Julio (°C) Enero (°F) Enero (°C) 0 Minneapolis 83/64 28/18 23/7 −4/−13 1 Saint Paul 83/63 28/17 23/6 − 5/−14 2 Rochester 82/63 28/17 23/3 −5/−16 3 Duluth 76/55 24/13 19/1 −7/−17 4 St. Cloud 81/58 27/14 18/−1 −7/−18

19: ‘más grande’ y ‘más pequeño’

Use .nlargest() y .nsmallest() para ordenar columnas en DataFrame según una columna específica en lugar de usar .sort_values()

🔥 Recomendado:  ¿Qué sistema de IA es más avanzado?

Enlace de datos: Clasificación IMDB

20: Crear una columna de clasificación

El método Pandas DataFrame.rank() devuelve un rango de cada índice respectivo de una serie pasada. El rango se devuelve en función de la posición después de la clasificación.

En el siguiente ejemplo, se crea una nueva columna de Rango, que clasifica al Estudiante por sus Marcas.

Estudiantes Marks 0 John 80 1 Smith 56 2 Patrick 95 3 Bob 75 4 Jose 45 Estudiantes Marks Rank 0 John 80 2.0 1 Smith 56 4.0 2 Patrick 95 1.0 3 Bob 75 3.0 4 Jose 45 5.0

21: Valores de color en DataFrame

El estilo de color agrega más legibilidad para el usuario final. Los pandas tienen la propiedad de estilo que nos sigue para aplicar diferentes estilos a los DataFrames.

Conclusión:

Pandas es una biblioteca de código abierto potente, flexible y fácil de usar para el análisis y la manipulación de datos, construida sobre la base de la programación de Python. Convertirse en un maestro de Pandas puede mejorar significativamente sus habilidades de análisis de datos, y conocer las mejores prácticas puede ahorrarle mucho tiempo y esfuerzo. Con su rendimiento rápido y su sintaxis intuitiva, Pandas es la elección preferida de los científicos y analistas de datos de todo el mundo. Al dominar Pandas, podrá manipular, analizar y visualizar datos con facilidad, lo que le brinda una ventaja significativa en el mundo actual basado en datos.