¿Cómo crear tablas de frecuencia en Python?

En este artículo vamos a ver cómo crear tablas de frecuencia en Python

La frecuencia es un recuento del número de ocurrencias de un valor particular que ocurre o aparece en nuestros datos. Una tabla de frecuencia muestra un conjunto de valores junto con la frecuencia con la que aparecen. Nos permiten comprender mejor qué valores de datos son comunes y cuáles son poco comunes. Estas tablas son un excelente método para organizar sus datos y comunicar los resultados a otros. En este artículo, demostremos las diferentes formas en que podemos crear tablas de frecuencia en python.

Para ver y descargar el archivo CSV que usamos en este artículo, haga clic aquí .

Método 1: tabla de frecuencia simple usando el método value_counts()

Echemos un vistazo al conjunto de datos en el que trabajaremos:

Los paquetes necesarios se importan y el conjunto de datos se lee mediante el método pandas.read_csv() . El método df.head() devuelve las primeras 5 filas del conjunto de datos.

Python3

# import packages
import pandas as pd
import numpy as np
  
# reading csv file as pandas dataframe
data = pd.read_csv('iris.csv')
data.head()

Producción:

Ahora encontremos la tabla de frecuencia unidireccional de la columna de especies del conjunto de datos.

Python3

df = data['species'].value_counts()
print(df)

Producción:

setosa        50
virginica     50
versicolor    50
Name: species, dtype: int64

Método 2: tabla de frecuencia unidireccional usando el método pandas.crosstab()

Aquí vamos a utilizar el método crosstab() para obtener la frecuencia.

Sintaxis: pandas.crosstab(índice, columnas, valores=Ninguno, nombres de filas=Ninguno, nombres de columnas=Ninguno, aggfunc=Ninguno, márgenes=False, margins_name=’All’, dropna=True, normalize=False)

Parámetros:

  • índice: array o serie que contiene valores para agrupar en las filas.
  • columnas: array o serie que contiene valores para agrupar en las columnas. es el nombre que le damos a la columna que encontramos frecuencia
  • valores : una array de números que se agregarán en función de los factores.

En el siguiente código usamos la función de tabulación cruzada donde damos la columna de especies como un índice y ‘no_of_species’ como el nombre de la columna de frecuencia.

Python3

# import packages
import pandas as pd
import numpy as np
  
import matplotlib.pyplot as plt
%matplotlib inline
  
# reading csv file as pandas dataframe
data = pd.read_csv('iris.csv')
  
# one way frequency table for the species column.
freq_table = pd.crosstab(data['species'], 'no_of_species')
  
freq_table

Resultado: 50 plantas pertenecientes a la especie setosa, 50 de Versicolor y 50 de Virginica.

Si queremos que la tabla de frecuencias esté en proporciones, entonces tenemos que dividir cada proporción individual por la suma del número total.

Python3

# import packages
import pandas as pd
import numpy as np
  
import matplotlib.pyplot as plt
%matplotlib inline
  
# reading csv file as pandas dataframe
data = pd.read_csv('iris.csv')
  
# one way frequency table for the species column.
freq_table = pd.crosstab(data['species'], 'no_of_species')
  
# frequency table in proportion of species
freq_table= freq_table/len(data)
  
freq_table

Salida: 0,333 indica que el 0,333 % de la población total es setosa y así sucesivamente.

Método 3: tabla de frecuencia bidireccional usando el método pandas.crosstab()

La tabla de frecuencia bidireccional es donde creamos una tabla de frecuencia para dos características diferentes en nuestro conjunto de datos. Para descargar y revisar el archivo CSV utilizado en este ejemplo, haga clic aquí . En el siguiente ejemplo, creamos una tabla de frecuencia bidireccional para el modo de barco y las columnas de segmento de nuestro conjunto de datos.

Python3

# import packages
import pandas as pd
import numpy as np
  
# reading csv file 
data = pd.read_csv('SampleSuperstore.csv')
  
# two way frequency table for the ship mode column
# and consumer column of the superstore dataset.
freq_table = pd.crosstab(data['Ship Mode'], data['Segment'])
  
freq_table

Producción:

Podemos interpretar esta tabla como que para el modo de barco de primera clase hay 769 segmentos de consumidores, 485 segmentos corporativos y 284 segmentos de oficinas en el hogar, y así sucesivamente.

Publicación traducida automáticamente

Artículo escrito por isitapol2002 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *