2020赛季NBA各队胜负场展示——python数据处理与可视化

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
import warnings
warnings.filterwarnings("ignore")
plt.rcParams['axes.unicode_minus'] = False
sns.set_style('darkgrid', {'font.sans-serif':['SimHei', 'Arial']})
df_player = pd.read_csv(r"C:\Users\imqqdong\Downloads\NBAdata\season_2021_detailed.csv")
df_team = pd.read_csv(r"C:\Users\imqqdong\Downloads\NBAdata\season_2021_basic.csv")
df_team.head()
dateweekdayhome_teamhome_scoreaway_teamaway_scoreattendanceovertimeremarks
02020-12-22T19:00:00TuesdayBrooklyn Nets125Golden State Warriors990NaNNaN
12020-12-22T22:00:00TuesdayLos Angeles Lakers109Los Angeles Clippers1160NaNNaN
22020-12-23T19:00:00WednesdayCleveland Cavaliers121Charlotte Hornets1140NaNNaN
32020-12-23T19:00:00WednesdayIndiana Pacers121New York Knicks1070NaNNaN
42020-12-23T19:00:00WednesdayOrlando Magic113Miami Heat1070NaNNaN
df_team_sim = df_team.drop(columns=["weekday","attendance","overtime","remarks"])
df_team_sim["winner"] = 0
df_team_sim["loser"] = 0
for i in range(len(df_team_sim)):
    if df_team_sim["home_score"][i] > df_team_sim["away_score"][i]:
        df_team_sim["winner"][i] = df_team_sim["home_team"][i]
        df_team_sim["loser"][i] = df_team_sim["away_team"][i]
    elif df_team_sim["home_score"][i] < df_team_sim["away_score"][i]:
        df_team_sim["winner"][i] = df_team_sim["away_team"][i]
        df_team_sim["loser"][i] = df_team_sim["home_team"][i]

sns.countplot(x = df_team_sim["winner"],color = "orange")
plt.xticks(rotation = 90)
plt.show() 

在这里插入图片描述

win_lose_times = pd.DataFrame(df_team_sim["winner"].value_counts())
win_lose_times["lose_times"] = df_team_sim["loser"].value_counts()
#会不会自动对齐索引
win_lose_times.head()
winnerlose_times
Phoenix Suns6325
Utah Jazz5825
Los Angeles Clippers5734
Milwaukee Bucks5731
Philadelphia 76ers5628
win_lose_times.rename(columns={"winner":"win_times"},inplace = True)
win_lose_times["wp"] = win_lose_times["win_times"]/(win_lose_times["win_times"]+win_lose_times["lose_times"])
win_lose_times.sort_values(by = "wp",ascending=False)
win_timeslose_timeswp
Phoenix Suns63250.715909
Utah Jazz58250.698795
Philadelphia 76ers56280.666667
Brooklyn Nets55290.654762
Milwaukee Bucks57310.647727
Los Angeles Clippers57340.626374
Denver Nuggets51310.621951
Atlanta Hawks51380.573034
Dallas Mavericks45340.569620
Los Angeles Lakers45340.569620
Portland Trail Blazers44340.564103
New York Knicks42350.545455
Golden State Warriors39350.527027
Miami Heat40360.526316
Memphis Grizzlies41380.518987
Boston Celtics38400.487179
Indiana Pacers35390.472973
Washington Wizards36430.455696
Charlotte Hornets33400.452055
San Antonio Spurs33400.452055
Sacramento Kings31410.430556
New Orleans Pelicans31410.430556
Chicago Bulls31410.430556
Toronto Raptors27450.375000
Minnesota Timberwolves23490.319444
Cleveland Cavaliers22500.305556
Oklahoma City Thunder22500.305556
Orlando Magic21510.291667
Detroit Pistons20520.277778
Houston Rockets17550.236111
fig = plt.figure(figsize = (30,20),dpi =100)
x = np.arange(len(win_lose_times.index.values))
width = 0.4
plt.bar(x = x - width/2,height = win_lose_times["win_times"],label = "胜利场次",align="center",width = width)
plt.bar(x = x + width/2,height = win_lose_times["lose_times"],label = "失败场次",align="center",width = width)
plt.xticks(ticks = x,rotation = 90,fontsize =25,labels = win_lose_times.index.values)
plt.yticks(fontsize = 25)
plt.legend(fontsize = 25)
plt.show()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值