
Procediento para la obtención de frecuencias absolutas en Python a partir de una lista de países.
Una de las enormes ventajas de programar en Python es disponer de librerías y modulos como Pandas para utilizar funciones sin necesidad de desarrolar su código. Aun así, hoy vamos a proceder a obtener las frecuencias absolutas de los elementos que se encuentran en una lista de Python sin librerías.
Si bien este ejercicio con Pandas sería de máxima facilidad con el método value_counts, en este post lo vamos a llevar a cabo mediante la libreria básica de Python.
Frecuencias absolutas
Trabájese sobre la hipótesis de que tenemos una lista de paises de la que queremos obtener las frecuencias con Python:

De lo que se trata es de crear un listado con los países que aparecen y además obtener su frecuencia, esto es el número de veces que se repite cada uno.
Para ello vamos a utilizar un diccionario vacío que se declara del siguiente modo:

Los diccionarios en Python son ideales para este procedimiento, puesto que almacenan información mediante una estructura de clave-valor o key-value, es decir trabaja con pares de valores.
Pues bien, mediante la siguiente expresión y mediante un <<bucle for>>, Python irá almacenando los valores nombre-país como ‘key’ y el conteo de veces que aparece como ‘values’.
Not in para obtener frecuencias con Python
Mediante la expresión <<not in>> lograremos que los países que aun no aparezcan en counts sean introducidos con frecuencia uno y más tarde si se repite, aumente su frecuencia en uno.

Con un simple print de counts, podremos obtener las frecuencias obtenidas:

Para proceder a ordenar los valores, y al no disponer de la función sort en un diccionario, podemos acudir a una lista. Para ello almacenaremos los elementos de counts en una lista vacía que ordene por values (frecuencia) y no por nombre, puesto que lo que buscamos es un orden numérico, no alfabético.

Con for y la extracción de los items de counts (keys y values) podremos ir extrayendo las frecuencias obtenidas para luego ordenarlas en orden inverso con sort, método que sí está disponible en las listas.

Listar las frecuencias obtenidas
Finalmente y mediante el uso del <<bucle for>> extraeremos el listado de los países con sus frecuencias, ahora almacenados y en orden por frecuencia dentro de la lista de mayor a menor.
Aunque lista_paises es una lista y no un diccionario, Python permite la extracción de sus parejas con keys y values como si de un diccionario se tratará, pero sin utilizar la expresión items():

Como se observa en la consulta se extrae invirtiendo el orden. Primero values y más tarde keys. Obteniendo la siguiente salida:

Si lo preferís podemos usar f-string para extraer en mayúsculas los nombres de los países listados:

Obtendremos de este modo una lista más atractiva:

Así pues, se ha llevado a cabo un procedimiento habitual en análisis de los datos. El comando freq o frequence en SPSS no está disponible en Python. Es por esto que hemos tenido que desarrollar código para no acudir a las librerías de Pandas o Sidetable, que hubiera sido la opción más lógica, sencilla y elegante.
Si quieres saber más sobre Python, pincha aquí.