Introducción y tutoriales de Pandas para principiantes

Introducción y tutoriales de Pandas para principiantes

  • Inteligencia artificial
6 min de lectura Actualizado Nov 11, 2020

Puntos clave: Pandas está una potente biblioteca Python para el análisis y manipulación de datos, que permite a los usuarios convertir y manejar diversos formatos de datos de forma eficiente. Se integra con NumPy y Matplotlib para una funcionalidad mejorada.

  • Pandas permite una conversión sencilla de datos a formatos estructurados como dataframes.
  • Simplifica tareas como leer archivos CSV/JSON y realizar transformaciones de datos.

Este artículo te presenta Pandas, una biblioteca de herramientas de análisis de datos basada en Python. Vamos a:

  • Echa un vistazo rápido a la herramienta
  • Mostrarte cómo te enseñar a realizar operaciones básicas

¿Qué están los pandas?

Un dataframe de Python Pandas están más que una estructura de datos de array. Pandas están una herramienta potente que permite te:

  • Convierte JSON, CSV, arrays, diccionarios y otros datos a formato de fila y columna
  • Trabaja con ellos usando nombres en lugar de índices (te aún puedes optar por índices)

En resumen, Pandas están algo así como una hoja de cálculo, pero con la te funciona usando código, no Microsoft Excel. Los mayores beneficios:

  • Pandas hace que las transformaciones de datos extremadamente complejas sean fáciles y naturales.
  • Incluye una gran cantidad de matemáticas, análisis y otras funciones.

Pandas están construidos sobre NumPy y Matplotlib. Así que Pandas pueden:

Cómo funciona Pandas

  • Trabajar eficientemente con grandes matrices n-dimensionales (NumPy)
  • Toma cortes y transponlos en diferentes formas (NumPy)
  • Diagramas de dibujo (Matplotlib)

NumPy es el workhouse para la mayoría de los kits de desarrollo de software (SDK) de aprendizaje automático en Python. Dado que Pandas amplía NumPy, también soporta operaciones de aprendizaje automático.

Operaciones básicas de pandas

Ahora, pasemos a un tutorial sencillo que te muestre lo básico de Pandas.

Crea un dataframe a partir de un array

Primero Crea un dataframe a partir de un array.

Esto está en un array de 2x2 (es decir, su forma están 2x2). Son dos filas y dos columnas. El array de nombres de columnas debe tener dos elementos. Aquí ponemos alumno y grado.

    import pandas as pd

df = pd.DataFrame([["Fred",80],["Jill",90]],columns=["student", "grade"])

Luego escribe df para Ve. En un Cuaderno Jupyter, la pantalla está formateada. (A continuación, Crea un gráfico para que te toque utilizar Jupyter, ya que Jupyter soporta gráficos.)

    df

El índice del dataframe están solo el recuento de filas, 0 y 1. Sería más natural utiliza el nombre del estudiante como índice. utiliza set_index hacer eso.

Normalmente, las operaciones de dataframe de Pandas Crean un nuevo dataframe. Pero podemos utilizar inplace=True en algunas operaciones para actualizar el dataframe existente sin tener que Haz uno nuevo.

    df.set_index("student",inplace=True)

Ahora se ve así:

Añadir una columna a un dataframe de Pandas

Vamos a añadir una columna al dataframe de Pandas. Este proceso te puede hacer en el lugar. Espera dos valores ya que tenemos dos filas. Solo hacemos dataframe['nombre de columna nuevo'] para añadir la columna nueva. Inserta la nueva columna en el dataframe existente.

    df['birthdate']=['1970-01-12', '1972-05-12']

Filtrar trama de datos por valor de columna

Aquí seleccionamos a todos los estudiantes nacidos el 12-01-1970:

    df[df['birthdate']=='1970-01-12']

Produce:

Serie Pandas: Seleccione 1 columna del dataframe

Aquí seleccionamos una columna. Esto no se está llamando dataframe, sino serie. Básicamente es un dataframe de una columna. Pero es un tipo diferente de objeto, así que tiene métodos ligeramente distintos.

    grade=df['grade']

Fíjate que ese índice están el nombre del estudiante. Pandas nos dice que la nota está de tipo int64—un entero de 64 bits. Esto están porque usa NumPy, que soporta muchos tipos numéricos. El Python normal solo soporta enteros y flotantes. Así que NumPy los emula, igual que el objeto decimal en Python emula los números decimales.

    student
Fred    80
Jill    90
Name: grade, dtype: int64

Añadir filas a un dataframe de pandas

Vamos a añadir más alumnos.

Aquí Crea un nuevo dataframe y lo añadimos al existente creando uno nuevo, df3. En este ejemplo, en df2 damos específicamente a Pandas los nombres de los estudiantes como valores de índice en lugar de hacerlo usando set_index, como hicimos antes.

    df2 = pd.DataFrame([[70,'1980-11-12'],[97, '1984-11-01']],index=["Costas", "Ilya"], columns=["grade", "birthdate"])

df3=df.append(df2)

Ahora tenemos algunos estudiantes más:

Seleccionar filas de dataframe de Pandas por posición de índice

Aquí seleccionamos las dos primeras filas usando iloc, que selecciona por desplazamiento de índice.

    df3.iloc[0:2]

Produce:

Función de mapa de Pandas y carta de dispersión

Para ilustrar qué más pueden hacer los Pandas, vamos a Haz un gráfico de dispersión. Vamos a graficar la edad por curso.

Primero necesitamos convertir la fecha de nacimiento a un número. Lo Haz del campo Numpy de tipo datetime64 usando:

    bday=pd.to_datetime(df3['birthdate'])

El cumpleaños están una serie. Entonces calculemos la fecha de hoy:

    from datetime import datetime 
import numpy as np

today = datetime.now()

Luego mostramos cómo utilizar la función de mapa. Que se ejecuta sobre cada fila del dataframe o serie.

La edad de alguien están la fecha de hoy menos su fecha de nacimiento. Esa resta nos da un objeto delta de tiempo, así que lo dividimos entre 365 días por año np.timedelta64(365, 'D') para dar una estimación muy aproximada de su edad. (No todos los años tienen 365 días.) Si no hiciéramos eso, la edad sería un objeto delta temporal y no un único valor entero.

    bday.map(lambda l: int((today-l)/np.timedelta64(365, 'D')))

df3['age']=bday.map(lambda l: int((today-l)/np.timedelta64(365, 'D')))

Ahora se ve así:

Ahora ilustramos cómo Pandas incluye Matplotlib representando el grado según la edad. Le decimos qué columna utilizar para los ejes x y y, así como el color para los puntos.

    df3[['grade','age']].plot.scatter(x='grade',
                      y='age',
                      c='DarkBlue')

Aquí está el gráfico:

Mostrar correlación entre columnas

Para ilustrar una característica más, Ve si la edad está correlacionada con la nota. Por supuesto que no, pero mostremos que Pandas tiene esto y muchas otras capacidades avanzadas.

    df3[['grade','age']].corr()

Así que, te puede Ve que la nota obvia están perfectamente correlacionada (1,0) consigo misma pero en absoluto con la edad (< 0):

Recursos adicionales

Para lecturas relacionadas y tutoriales, explora estos recursos:

Estas publicaciones son mías y no representan necesariamente la posición, estrategias u opinión de BMC.

Más de Inteligencia artificial

Suscríbete al Informe

Al registrarse para esta oferta te son confirmar que te leído y aceptado la Política de Privacidad de BMC.

Gracias te

Tú te has suscrito a The Brief
El Brief abarca la orquestación de mainframe y empresa—BMC AMI y Control-M—y la investigación de analistas, despliegues de clientes y eventos en ambas áreas.