File size: 3,363 Bytes
fcb92fa
 
 
 
32331b8
d7d91e9
30fe6c5
fcb92fa
37e5410
fcb92fa
 
4b8ab3d
fae6d46
 
 
 
 
fcb92fa
fae6d46
 
fcb92fa
fae6d46
 
 
e8a947e
4b8ab3d
 
fae6d46
 
1d44339
e405c05
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
fae6d46
1d44339
e405c05
fae6d46
e405c05
 
 
 
 
 
 
 
 
 
 
 
 
 
 
fae6d46
e405c05
 
 
 
 
 
 
 
 
 
 
 
 
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
import streamlit as st
import pandas as pd
import matplotlib.pyplot as plt

# Set page configuration
st.set_page_config(page_title="Career Insights", layout="wide")

# Load data
file_path = "Teams.csv"
df = pd.read_csv(file_path)

# Get unique player names
player_names = df["Player"].unique()

# Search box for filtering player names
search_query = st.text_input("Search Player Name:")
filtered_players = [name for name in player_names if search_query.lower() in name.lower()] if search_query else player_names

# Player selection dropdown
selected_player = st.selectbox("Select Player", filtered_players)

# Buttons for Batting and Bowling
show_batting = st.button("Show Batting Stats")
show_bowling = st.button("Show Bowling Stats")

if selected_player:
    player_data = df[df["Player"] == selected_player].iloc[0]
    labels = ["Test", "ODI", "T20", "IPL"]
    
    if show_batting:
        col1, col2 = st.columns(2)
        
        with col1:
            # Pie Chart - Matches Played Across Formats
            matches = [
                player_data.get("Matches_Test", 0),
                player_data.get("Matches_ODI", 0),
                player_data.get("Matches_T20", 0),
                player_data.get("Matches_IPL", 0)
            ]
            fig, ax = plt.subplots()
            ax.pie(matches, labels=labels, autopct="%1.1f%%", startangle=90)
            ax.set_title(f"Matches Played by {selected_player}")
            st.pyplot(fig)
        
        with col2:
            # Bar Chart - Runs Scored
            batting_runs = [
                player_data.get("batting_Runs_Test", 0),
                player_data.get("batting_Runs_ODI", 0),
                player_data.get("batting_Runs_T20", 0),
                player_data.get("batting_Runs_IPL", 0)
            ]
            fig, ax = plt.subplots()
            ax.bar(labels, batting_runs, color=["gold", "green", "blue", "red"])
            ax.set_ylabel("Runs Scored")
            ax.set_title(f"Runs Scored by {selected_player}")
            st.pyplot(fig)
    
    if show_bowling:
        col1, col2 = st.columns(2)
        
        with col1:
            # Calculate Overs Bowled
            overs_bowled = [
                player_data.get("bowling_Test_Balls", 0) // 6,
                player_data.get("bowling_ODI_Balls", 0) // 6,
                player_data.get("bowling_T20_Balls", 0) // 6,
                player_data.get("bowling_IPL_Balls", 0) // 6
            ]
            
            # Bar Chart - Overs Bowled
            fig, ax = plt.subplots()
            ax.bar(labels, overs_bowled, color=["purple", "orange", "cyan", "brown"])
            ax.set_ylabel("Overs Bowled")
            ax.set_title(f"Overs Bowled by {selected_player}")
            st.pyplot(fig)
        
        with col2:
            # Line Chart - Wickets Taken
            wickets_taken = [
                player_data.get("bowling_Wickets_Test", 0),
                player_data.get("bowling_Wickets_ODI", 0),
                player_data.get("bowling_Wickets_T20", 0),
                player_data.get("bowling_Wickets_IPL", 0)
            ]
            fig, ax = plt.subplots()
            ax.plot(labels, wickets_taken, marker='o', linestyle='-', color='red')
            ax.set_ylabel("Wickets Taken")
            ax.set_title(f"Wickets Taken by {selected_player}")
            st.pyplot(fig)