File size: 1,624 Bytes
1900d51
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import streamlit as st
from utils.data_processing import load_data
from components.layout import create_sidebar, create_main_layout
from components.visualization import create_pizza_chart, display_metrics, get_max_values_for_ville
import pandas as pd

# Configuration de la page Streamlit
st.set_page_config(
    page_title="Statistiques Rugby",
    page_icon="🏉",
    layout="wide"
)

def main():
    """Fonction principale de l'application"""
    st.title("🏉 Analyse des Statistiques Rugby")
    
    # Chargement des données
    data = load_data()
    # Conversion des colonnes numériques
    numeric_columns = data.select_dtypes(include=['object']).columns
    for col in numeric_columns:
        if col != 'name' and col != 'Ville':
            data[col] = pd.to_numeric(data[col], errors='coerce')
    
    # Création de l'interface
    selected_ville, selected_player = create_sidebar(data)
    col1, col2 = create_main_layout(data, selected_ville)
    
    with col1:
        st.subheader(f"Statistiques pour {selected_player} ({selected_ville})")
        # Récupérer uniquement les valeurs maximales
        max_values = get_max_values_for_ville(data, selected_ville)
        fig = create_pizza_chart(data, selected_ville, selected_player, max_values)
        if fig is not None:
            st.pyplot(fig)
    
    with col2:
        st.subheader("Valeurs maximales pour ce match")
        if max_values:
            display_metrics(max_values)
        else:
            st.warning("Aucune donnée maximale disponible")

if __name__ == "__main__":
    main()