Kaggle之旅2
前言
今天继续学习pandas。并实践下All GM Chess Games on Chess.com这个dataset。
一、目标
读入dataset,做一些统计工作,如下,
- 一共有多少GM,都是谁
- 每个GM下了多少盘棋(取top10)
- 平均每年每个GM下几盘棋(取top10)
- 由于数据集时间范围是2008-05-10 ~ 2022-06-24,我们就取2021年来看看当年谁的胜率最高,首先应该要统计2021年所有棋手平局下了多少局棋,然后统计出下棋局数超过平均值的棋手都是谁,最后计算这些棋手谁的胜率最高。
- 总体看,执白胜率高还是执黑胜率高
二、测试
代码如下
# 1. 统计一共有多少GM,以及是谁
print(f"1. 一共有 " + str(df.player_name.nunique()) +" 位GM,分别是:")
print(df.player_name.unique())
# 2. 统计每个GM下了多少盘棋
print("\n2. 每个GM下了多少盘棋(取top10):")
print(df.player_name.value_counts().head(10))
# 3. 平均每年每个GM下几盘棋
df['Date'] = pd.to_datetime(df['Date'])
df['Year'] = df['Date'].dt.year
average_games_per_year = df.groupby(['player_name', 'Year']).size().groupby('player_name').mean().round(0).astype(int)
# 取前十名
top_10_gms_average_games = average_games_per_year.groupby(&#