Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Ayuda con bucle
#1
   

Buenas,

Aprovecho el post para presentarme. Me llamo Diego y estoy aprendiendo Python aprovechando mi pasión que es el fútbol.

En cuanto al problema que tengo con el bucle, lo que tengo es un dataset con una columna competition_id. En esta columna están los índices de las competiciones y puedes extraer todos los partidos que hay disponible de cada una de las competiciones. El código para llamar a una, es este:

sb.matches(competition_id=11, season_id=42)

Para conseguir generar un dataset con las que yo quería, lo hice manualmente con este código (pero me gustaría automatizarlo con un bucle):

Espanya17_18= sb.matches(competition_id=11, season_id=1)
Espanya18_19= sb.matches(competition_id=11, season_id=4)
Espanya19_20= sb.matches(competition_id=11, season_id=42)

Liga_espanyola = pd.concat([Espanya17_18, Espanya18_19, Espanya19_20], axis=0)

print(Liga_espanyola)


Os adjunto una captura de la tabla por si os sirve de ayuda.

Muchas gracias.
Responder
#2
Hola, Diego, bienvenido.

¿Tu objetivo sería convertir ese código a un bucle? No creo que se pueda simplificar demasiado ese código. Cuando mucho podrías hacer así:

Código:
competition_ids = 11, 11, 11
season_ids = 1, 4, 42
liga_espanyola = pd.concat([sb.matches(competition_id=a, seasion_id=b) for a, b in zip(competition_ids, season_ids)], axis=0)

Saludos
¡No te pierdas nuestro curso oficial en Udemy para aprender Python, bases de datos SQL, orientación a objetos, tkinter y mucho más!

También ofrecemos consultoría profesional de desarrollo en Python para personas y empresas.
Responder
#3
Hola Francisco,

Gracias por la bienvenida. 

Sí, mi objetivo sería convertirlo a un bucle. Por explicar un poco, son datos que se van actualizando semanalmente de cada competición (de las antiguas no, claro). Entonces, digamos que tienen una parte del código en la que tienen las competiciones, a través de las cuales puedes acceder a todos los partidos y a través de cada partido, a todos los eventos que han recogido. Como si fuera una cascada, vaya.

Entonces mi intención es en la temporada actual, automatizarlo de tal manera que al final me quede un dataset con toda la información de eventos de todos los partidos de todas las competiciones. Se podría hacer uno por competición también para juntarlo después en Power BI o concatenándolos en Python si es más cómodo.

No sé si me he explicado bien. Como soy algo novato en esto, quizá me queden cosas por decir.

Por si sirve de ayuda, este es el Github donde tienen toda la info. Pero la verdad es que de momento no acabo de entender muchas cosas.

https://github.com/statsbomb/open-data/tree/master/doc 

Gracias por la respuesta.
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)