Spaces:
Sleeping
Sleeping
File size: 4,100 Bytes
fcb92fa 32331b8 d7d91e9 30fe6c5 fcb92fa 432d880 fcb92fa 4b8ab3d fae6d46 fcb92fa fae6d46 fcb92fa fae6d46 e8a947e 4b8ab3d fae6d46 1d44339 03b9d6c e405c05 03b9d6c e405c05 03b9d6c f272351 e148a04 03b9d6c e148a04 03b9d6c e148a04 f415382 03b9d6c f415382 e148a04 03b9d6c f415382 e148a04 f415382 6dfba44 |
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 93 94 95 96 97 98 99 100 101 102 103 |
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
df = pd.read_csv("Team_Info.csv")
# 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:
st.subheader(f"Batting Stats for {selected_player}")
col1, col2 = st.columns(2)
with col1:
# Pie Chart - Matches Played
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:
st.subheader(f"Bowling Stats for {selected_player}")
col1, col2 = st.columns(2)
with col1:
# Pie Chart - Bowling Averages
bowling_avg = [
0 if pd.isna(player_data.get("bowling_Test_Avg", 0)) else float(player_data.get("bowling_Test_Avg", 0)),
0 if pd.isna(player_data.get("bowling_ODI_Avg", 0)) else float(player_data.get("bowling_ODI_Avg", 0)),
0 if pd.isna(player_data.get("bowling_T20_Avg", 0)) else float(player_data.get("bowling_T20_Avg", 0)),
0 if pd.isna(player_data.get("bowling_IPL_Avg", 0)) else float(player_data.get("bowling_IPL_Avg", 0))
]
fig, ax = plt.subplots()
ax.pie(bowling_avg, labels=labels, autopct="%1.1f%%", startangle=90)
ax.set_title(f"Bowling Averages of {selected_player}")
st.pyplot(fig)
with col2:
# Bar Chart - Bowling Innings
bowling_innings = [
player_data.get("bowling_Test_Innings", 0),
player_data.get("bowling_ODI_Innings", 0),
player_data.get("bowling_T20_Innings", 0),
player_data.get("bowling_IPL_Innings", 0)
]
fig, ax = plt.subplots()
ax.bar(labels, bowling_innings, color=["blue", "green", "purple", "orange"])
ax.set_ylabel("Innings Bowled")
ax.set_title(f"Bowling Innings of {selected_player}")
st.pyplot(fig)
# Balls Bowled
balls_bowled = [
player_data.get("bowling_Test_Balls", 0),
player_data.get("bowling_ODI_Balls", 0),
player_data.get("bowling_T20_Balls", 0),
player_data.get("bowling_IPL_Balls", 0)
]
fig, ax = plt.subplots(figsize=(5, 3))
ax.bar(labels, balls_bowled, color=["red", "yellow", "blue", "green"])
ax.set_ylabel("Balls Bowled")
ax.set_title(f"Balls Bowled by {selected_player}")
st.pyplot(fig)
|