Análisis del Top 100 ATP con Python y Tennis API | Datos Históricos por Superficie

Imagen
Análisis del Top 100 ATP con Python y Tennis API: ¿Quién domina cada superficie? Los datos deportivos son una excelente forma de aprender análisis de datos y visualización con Python. En este artículo exploramos el rendimiento histórico del Top 100 ATP actual utilizando la Tennis API , una plataforma que ofrece acceso a rankings, perfiles de jugadores, resultados en vivo, estadísticas históricas y mucho más. Nuestro objetivo fue responder una pregunta sencilla: ¿Quiénes son los mejores jugadores del Top 100 ATP actual en cada superficie? Para ello utilizamos Python, Pandas y Plotly para analizar más de 3,700 registros históricos obtenidos desde la API desde 2004 a 2026. Obtención de datos con Tennis API La información fue obtenida utilizando el endpoint Surface Summary disponible en la documentación oficial de Tennis API. Documentación: https://tennisapidoc.matchstat.com/ Sitio oficial: https://tennis-api.com/ El proceso consistió en: Obtener el ranking A...

cómo resolver ecuaciones lineales con Python

Quizás se han preguntado cómo puedo resolver una ecuación utilizando Python. Primero es convertir nuestro sistema de ecuaciones a matrices y vectores es decir utilizar Álgebra lineal.

Entonces primer paso nuestra ecuación de ejemplo es:

3x + 2y -5z =8
2x-5y+3z =5
8y+9z =6

Esto convertido a Algebra Lineal se ve así:

[3,2,-5
 2,-5,3
0,8,9]

Vector de resultados de la ecuación
[8,5,6]

En el álgebra lineal tenemos varios métodos que podemos utilizar para resolver este tipo de ecuaciones ,estos métodos son :

  • Regla de Cramer
  • Gauss Jordan
  • Eliminación Gaussiana

En este post vamos hablar de la regla de Cramer la cual consiste en ir remplazando una columna por el vector de resultados y obtener la determinante de la matriz inicial y la matriz con el ventor . 

Ahora vamos a transformar estas reglas a un programa

Primero vamos a hacerlo de manera manual en el programa simulando los pasos
import numpy as np

#Cramer rules
matrix_l = np.array([[3,2,-5],
                   [2,-5,3],
                   [0,8,9]])

vector_b = np.array([8,5,6])
d0 = np.linalg.det(matrix_l)
print(d0)

matrix_2 =np.array([[8,2,-5],
                   [5,-5,3],
                   [6,8,9]])
d1 = np.linalg.det(matrix_2)
print(d1)

matrix_3 =np.array([[3,8,-5],
                   [2,5,3],
                   [0,6,9]])
d2 = np.linalg.det(matrix_3)
print(d2)

matrix_4 =np.array([[3,2,8],
                   [2,-5,5],
                   [0,8,6]])
d3 = np.linalg.det(matrix_4)
print(d3)

x1=d1/d0
x2=d2/d0
x3=d3/d0
print("result x1",x1)
print("result x2",x2)
print("result x3",x3)

Ahora validemos el resultado


Cómo podemos ver la solución del programa ,resuelve nuestro sistema de ecuaciones.

Ahora vamos hacer nuestro programa un poco más automático

def crammer(mat,vect):
    d = np.linalg.det(mat)
    
    mat1= np.array([vect,mat[:,1],mat[:,2]])
    mat2= np.array([mat[:,0],vect,mat[:,2]])
    mat3= np.array([mat[:,0],mat[:,1],vect])
    
    d1 = np.linalg.det(mat1)
    d2 = np.linalg.det(mat2)
    d3 = np.linalg.det(mat3)
    
    x1 =d1/d
    x2 =d2/d
    x3= d3/d
    
    print(x1,x2,x3)

(matrix_l,vector_b)

Les comparto la liga al video en nuestro canal de YouTube para ver la ejecución del programa


Espero les sea de utilidad y nos compartan. 
#programacionparatodos
#programarcobpython

Comentarios

🚀 Mantener este blog funcionando requiere tiempo y café. ¡Puedes contribuir con uno aquí!

Entradas más populares de este blog

Guía Práctica: Ejemplo Completo de ASPX para Desarrolladores Web

👉 Cómo obtener el tipo de cambio en Excel con API de Banxico (paso a paso)

Macro en Word para automatizar documentos: genera diplomas en segundos (con código VBA)