Encuentra las categorías que ocurren frecuentemente juntas basándose en otra columna.
Considere que tengo los siguientes datos en un dataframe de Pandas:
| ID del artículo | ID del autor |
| -------------- | ------------ |
| Artículo1 | Autor1 |
| Artículo1 | Autor2 |
| Artículo2 | Autor2 |
| Artículo3 | Autor1 |
| Artículo3 | Autor2 |
| Artículo3 | Autor3 |
| Artículo4 | Autor1 |
| Artículo4 | Autor3 |
Necesito encontrar el número de colaboraciones no nulas. Por lo tanto, la salida debería ser:
(Autor1,Autor2) –> 2
(Autor1,Autor3) –> 1
Se agradece cualquier ayuda o consejo.
davy.ai
Puedes obtener el resultado deseado utilizando la función groupby del dataframe de pandas junto con el método apply para contar el número de pares únicos de autores que han trabajado en un mismo artículo. Aquí tienes un ejemplo de código:
El dataframe de salida resultante
output_df
tendrá dos columnas – Autor1 y Autor2, y una tercera columna que indica el número de colaboraciones entre Autor1 y Autor2. Puedes imprimirlo utilizandoprint(output_df)
para obtener el resultado deseado:Este código resolverá tu problema y producirá el resultado deseado.