Tutorial de Pandas en Python

Tutorial de Pandas en Python
En esta lección sobre la biblioteca de Python Pandas, analizaremos diferentes estructuras de datos que este paquete de Python proporciona para funcionalidades rápidas de procesamiento de datos que son eficientes para datos dinámicos y administrar operaciones complejas a través de datos multidimensionales. En esta lección, cubriremos principalmente:
  • ¿Qué es el paquete pandas?
  • Instalación y comenzar
  • Carga de datos de CSV en Pandas DataFrame
  • ¿Qué es DataFrame y cómo funciona?
  • Corte de datos de datos
  • Operaciones matemáticas a través de DataFrame

Esto parece mucho para cubrir. Empecemos ahora.

¿Qué es el paquete Python Pandas??

Según la página de inicio de Pandas: Pandas es una biblioteca de código abierto y licenciada en BSD que proporciona estructuras de datos de alto rendimiento y fácil de usar para el lenguaje de programación de Python.

Una de las mejores cosas de los pandas es que hace que la lectura de datos de formatos de datos comunes como CSV, SQL, etc. muy fácil, lo que lo hace igualmente utilizable en aplicaciones de grado de producción o solo algunas aplicaciones de demostración.

Instalar python pandas

Solo una nota antes de comenzar el proceso de instalación, utilizamos un entorno virtual para esta lección que hicimos con el siguiente comando:

python -m virtualenv pandas
fuente pandas/bin/activar

Una vez que el entorno virtual está activo, podemos instalar la biblioteca PANDAS dentro de la ENV virtual para que los ejemplos que creamos a continuación puedan ejecutarse:

pandas de instalación de pip

O podemos usar Conda para instalar este paquete con el siguiente comando:

pandas de instalación de conda

Vemos algo como esto cuando ejecutamos el comando anterior:

Una vez que la instalación se complete con Conda, podremos usar el paquete en nuestros scripts de Python como:

importar pandas como PD

Comencemos a usar pandas en nuestros scripts ahora.

Lectura del archivo CSV con Pandas Dataframes

Leer un archivo CSV es fácil con pandas. Para la demostración, hemos construido un pequeño archivo CSV con los siguientes contenidos:

Nombre, rollno, fecha de admisión, contacto de emergencia
Shubham, 1,20-05-2012,9988776655
Gagan, 2,20-05-2009,8364517829
Oshima, 3,20-05-2003,5454223344
Vyom, 4,20-05-2009,1223344556
Ankur, 5,20-05-1999,9988776655
Vinod, 6,20-05-1999,9988776655
Vipin, 7,20-05-2002,9988776655
Ronak, 8,20-05-2007,1223344556
DJ, 9,20-05-2014,9988776655
VJ, 10,20-05-2015,9988776655

Guarde este archivo en el mismo directorio que el script de Python. Una vez que el archivo esté presente, agregue el siguiente fragmento de código en un archivo de Python:

importar pandas como PD
Estudiantes = PD.Read_csv ("Estudiantes.CSV ")
estudiantes.cabeza()

Una vez que ejecutemos el fragmento de código anterior, veremos la siguiente salida:

La función head () en pandas se puede usar para mostrar una muestra de datos presentes en el marco de datos. Espera, DataFrame? Estudiaremos mucho más sobre DataFrame en la siguiente sección, pero solo entendemos que un marco de datos es una estructura de datos N-dimensional que puede usarse para mantener y analizar o operaciones complejas sobre un conjunto de datos.

También podemos ver cuántas filas y columnas tienen los datos actuales:

estudiantes.forma

Una vez que ejecutemos el fragmento de código anterior, veremos la siguiente salida:

Tenga en cuenta que los pandas también cuentan el número de filas a partir de 0.

Es posible obtener solo columna en una lista con pandas. Esto se puede hacer con la ayuda de indexación en pandas. Veamos un fragmento de código corto para el mismo:

student_names = estudiantes ['nombre']
Estudiante_names

Una vez que ejecutemos el fragmento de código anterior, veremos la siguiente salida:

Pero eso no parece una lista, ¿lo hace?? Bueno, necesitamos llamar explícitamente una función para convertir este objeto en una lista:

student_names = student_names.Listar()
Estudiante_names

Una vez que ejecutemos el fragmento de código anterior, veremos la siguiente salida:

Solo para obtener información adicional, podemos asegurarnos de que cada elemento en la lista sea único y solo elegimos elementos no vacíos agregando algunas verificaciones simples como:

student_names = estudiantes ['nombre'].dropna ().único().Listar()

En nuestro caso, la salida no cambiará ya que la lista ya no contiene ningún valor de falta.

También podemos hacer un marco de datos con datos sin procesar y pasar los nombres de la columna junto con él, como se muestra en el siguiente fragmento de código:

my_data = PD.Marco de datos(
[
[1, "Chan"],
[2, "Smith"],
[3, "Winslet"]
],
columnas = ["rango", "apellido"]
)
mis datos

Una vez que ejecutemos el fragmento de código anterior, veremos la siguiente salida:

Corte de datos de datos

Desglosar los marcos de datos para extraer solo las filas y columnas seleccionadas es una funcionalidad importante para mantener la atención hacia las partes requeridas de los datos que necesitamos usar. Para esto, Pandas nos permite cortar datos de datos cuando sea necesario con declaraciones como:

  • Iloc [: 4 ,:] - Selecciona las primeras 4 filas y todas las columnas para esas filas.
  • ILOC [:,:] - Se selecciona el cuadro de datos completo
  • Iloc [5 :, 5:] - Filas desde la posición 5 en adelante, y columnas desde la posición 5 en adelante.
  • ILOC [:, 0] - La primera columna y todas las filas para la columna.
  • Iloc [9 ,:] - La décima fila, y todas las columnas para esa fila.

En la sección anterior, ya hemos visto indexación y corte con nombres de columnas en lugar de los índices. También es posible mezclar corte con números de índice y nombres de columnas. Veamos un fragmento de código simple:

estudiantes.Loc [: 5, 'Nombre']

Una vez que ejecutemos el fragmento de código anterior, veremos la siguiente salida:

Es posible especificar más de una columna:

estudiantes.Loc [: 5, ['Nombre', 'Contacto de emergencia']]

Una vez que ejecutemos el fragmento de código anterior, veremos la siguiente salida:

Estructura de datos de la serie en pandas

Al igual que los pandas (que es una estructura de datos multidimensional), una serie es una estructura de datos de una dimensión en Pandas. Cuando recuperamos una sola columna de un marcado de datos, en realidad estamos trabajando con una serie:

Tipo (estudiantes ["Nombre"])

Una vez que ejecutemos el fragmento de código anterior, veremos la siguiente salida:

También podemos construir nuestra propia serie, aquí hay un fragmento de código para el mismo:

serie = PD.Serie (['Shubham', 3.7])
serie

Una vez que ejecutemos el fragmento de código anterior, veremos la siguiente salida:

Como claro del ejemplo anterior, una serie también puede contener múltiples tipos de datos para la misma columna.

Filtros booleanos en Pandas DataFrame

Una de las cosas buenas en los pandas es cómo es extraer datos de un marco de datos basado en una condición. Como extraer estudiantes solo cuando su número de rollo es mayor que 6:

roll_filter = estudiantes ['rollno']> 6
roll_filter

Una vez que ejecutemos el fragmento de código anterior, veremos la siguiente salida:

Bueno, eso no es lo que esperábamos. Aunque la salida es bastante explícita sobre qué filas satisfacían el filtro que proporcionamos, pero aún no tenemos las filas exactas que satisfacen ese filtro. Resulta que Podemos usar filtros como índices de marco de datos también:

Estudiantes [roll_filter]

Una vez que ejecutemos el fragmento de código anterior, veremos la siguiente salida:

Es posible usar múltiples condiciones en un filtro para que los datos se puedan filtrar en un filtro conciso, como:

next_filter = (estudiantes ['rollno']> 6) & (estudiantes ['nombre']> 's'))
Estudiantes [Next_filter]

Una vez que ejecutemos el fragmento de código anterior, veremos la siguiente salida:

Mediana calculadora

En un marco de datos, también podemos calcular muchas funciones matemáticas. Daremos un buen ejemplo de calcular la mediana. La mediana se calculará para una fecha, no solo para números. Veamos un fragmento de código corto para el mismo:

fechas = estudiantes ['Fecha de admisión'].Astype ('DateTime64 [NS]').cuantil (.5)
fechas

Una vez que ejecutemos el fragmento de código anterior, veremos la siguiente salida:

Logramos esto indexando primero la columna de fecha que tenemos y luego proporcionando un tipo de datos a la columna para que los pandas puedan inferirlo correctamente cuando aplica la función cuantil para calcular la fecha media.

Conclusión

En esta lección, observamos varios aspectos de la biblioteca de procesamiento de Pandas que podemos usar con Python para recopilar datos de varias fuentes en una estructura de datos de DataFrame que nos permite operar sofisticadamente en un conjunto de datos. También nos permite obtener un subconjunto de datos en los que queremos trabajar momentáneamente y proporciona muchas operaciones matemáticas.

Comparta sus comentarios sobre la lección en Twitter con @Sbmaggarwal y @Linuxhint.