Las tablas dinámicas continúan estando entre las herramientas más veneradas y ampliamente utilizadas dentro de MS Excel. Ya sea que sea un analista de datos, un ingeniero de datos o simplemente un usuario habitual, es probable que ya tenga una debilidad por MS Excel.

No obstante, existe un margen cada vez mayor para replicar las herramientas y utilidades de MS Excel, especialmente en Python. ¿Sabía que puede crear extensas tablas dinámicas en los marcos de datos de Python con unas pocas líneas de código?

Si eso es correcto; Si estás intrigado, así es como puedes hacerlo.

Requisitos previos para crear tablas dinámicas

Como cualquier otro lenguaje de programación, incluso Python necesita que cumpla con algunos requisitos previos antes de poder comenzar a codificar.

Para obtener la experiencia más optimizada al crear su primera tabla dinámica en Python, esto es lo que necesitará:

  • IDE de Python: La mayoría de los códigos de Python tienen un entorno de desarrollo integrado (IDE) preinstalado en su sistema. Hay varios
    instagram viewer
    IDE compatibles con Python en el mercado, incluidos Jupyter Notebook, Spyder, PyCharm y muchos otros.
  • Data de muestra: A modo de ilustración, aquí hay un conjunto de datos de muestra para que trabaje. Alternativamente, siéntase libre de modificar estos códigos directamente en sus datos en vivo.

Enlace de muestra de datos:Supertienda de muestra

Importación de las bibliotecas esenciales

Dado que Python funciona con el concepto de bibliotecas de terceros, debe importar el pandas biblioteca para crear pivotes.

Puedes usar Pandas para importar un archivo de Excel a Python y almacenar los datos en un DataFrame. Para importar Pandas, utilice el importar comando de la siguiente manera:

importar pandas como p.d.

Cómo crear pivotes en Python

Dado que la biblioteca ahora está disponible, debe importar el archivo de Excel a Python, que es la base para crear y probar pivotes en Python. Almacene los datos importados en un DataFrame con el siguiente código:

# Crear un nuevo marco de datos
# reemplazar con su propio camino aquí
camino = "C://Usuarios//usuario/OneDrive//Escritorio//"
# puede definir el nombre del archivo aquí
archivo = "Muestra - Superstore.xls"
df = pd.read_excel (ruta + archivo)
d.f..cabeza()

Dónde:

  • d.f.: Nombre de variable para almacenar los datos de DataFrame
  • PD: Alias ​​para la biblioteca de Pandas
  • leer_excel(): Función Pandas para leer un archivo de Excel en Python
  • sendero: La ubicación donde se almacena el archivo de Excel (Sample Superstore)
  • expediente: Nombre del archivo a importar
  • cabeza(): Muestra las primeras cinco filas del DataFrame, por defecto

El código anterior importa el archivo de Excel a Python y almacena los datos en un DataFrame. Finalmente, el cabeza La función muestra las primeras cinco filas de datos.

Esta función es útil para garantizar que los datos se importen correctamente a Python.

¿Qué campos de tabla dinámica existen en Python?

Al igual que su contraparte de Excel, una tabla dinámica tiene un conjunto de campos similar en Python. Aquí hay algunos campos que debe conocer:

  • Datos: El campo de datos se refiere a los datos almacenados dentro de un marco de datos de Python
  • Valores: Datos en columnas utilizados dentro de un pivote
  • Índice: Una (s) columna (s) de índice para agrupar los datos
  • Columnas: Las columnas ayudan a agregar los datos existentes dentro de un DataFrame

Propósito detrás del uso de la función de índice

Dado que la función de índice es el elemento principal de una tabla dinámica, devuelve el diseño básico de los datos. En otras palabras, puede agrupar sus datos con el índice función.

Suponga que desea ver algunos valores agregados para los productos enumerados en el Segmento columna. Puede calcular un agregado predefinido (valor medio) en Python definiendo las columnas designadas y el valor del índice.

df.pivot_table (índice = "Segmento")

Dónde:

  • d.f.:DataFrame que contiene los datos
  • tabla dinámica:Función de tabla dinámica en Python
  • índice: función incorporada para definir una columna como índice
  • Segmento: Columna para usar como valor de índice

Los nombres de las variables de Python distinguen entre mayúsculas y minúsculas, así que evite la transición de los nombres de variables predefinidos que se enumeran en esta guía.

Cómo usar valores de múltiples índices

Cuando desee utilizar varias columnas de índice, puede definir los nombres de las columnas en un lista dentro de la función de índice. Todo lo que tiene que hacer es especificar los nombres de las columnas dentro de un conjunto de corchetes ([ ]), Como se muestra abajo:

df.pivot_table (índice = ["Categoría", "Subcategoría"])

La función dinámica sangra la columna de índice en la salida. Python muestra el significar de todos los valores numéricos contra cada valor de índice.

Aprenda a restringir los valores en la salida

Dado que Python selecciona todas las columnas numéricas de forma predeterminada, puede restringir los valores para modificar los resultados que se muestran en el resultado final. Utilizar el valores función para definir las columnas que desea ver.

df.pivot_table (índice = ["Región", "Categoría", "Subcategoría"], valores = "Ventas")

En el resultado final, habrá tres columnas de índice y los valores medios de la columna Ventas comparados con cada elemento.

Definición de funciones agregadas en tabla dinámica

¿Qué sucede cuando no desea calcular los valores medios de forma predeterminada? La tabla dinámica tiene muchas otras funcionalidades, que se extienden más allá de calcular una media simple.

Aquí se explica cómo escribir el código:

df.pivot_table (índice = ["Categoría"], valores = "Ventas", aggfunc = [suma, max, min, len])

Dónde:

  • suma: Calcula la suma de valores
  • máximo: Calcula el valor máximo
  • min: Calcula el valor máximo
  • Len: Calcula el recuento de valores.

También puede definir cada una de estas funciones en líneas de código separadas.

Cómo agregar totales generales a la tabla dinámica

Ningún activo de datos está completo sin los totales generales. Para calcular y mostrar los totales generales por columna de datos, use el márgenes y margins_name función.

df.pivot_table (índice = ["Categoría"], valores = "Ventas", aggfunc = [sum, max, min, len], margins=True, margins_name='Grandes totales')

Dónde:

  • márgenes: Función para calcular el total general
  • margins_name: Especifique el nombre de la categoría en la columna de índice (por ejemplo, Totales generales)

Modificar y usar el código final

Aquí está el resumen del código final:

importar pandas como p.d.
# reemplazar con su propio camino aquí
camino = "C://Usuarios//usuario/OneDrive//Escritorio//"
# puede definir el nombre del archivo aquí
archivo = "Muestra - Superstore.xls"
df = pd.read_excel (ruta + archivo)
df.pivot_table (índice = ["Región", "Categoría", "Subcategoría"], valores = "Ventas",
aggfunc = [suma, max, min, len],
márgenes=Verdadero,
margins_name='Grandes totales')

Creación de tablas dinámicas en Python

Cuando utiliza tablas dinámicas, las opciones son simplemente infinitas. Python le permite manejar fácilmente grandes conjuntos de datos sin preocuparse por las discrepancias de datos y los retrasos del sistema.

Dado que las funcionalidades de Python no se limitan a condensar datos en pivotes, puede combinar varios libros de trabajo y hojas de Excel, mientras realiza una serie de funciones relacionadas con Python.

Con Python, siempre hay algo nuevo en el horizonte.