编程新手求教:如何编写函数返回指定英超赛季的统计DataFrame?
编写函数返回指定赛季的英超统计DataFrame
下面分两种常见的数据存储场景给你写基础函数,你可以根据自己的实际情况调整:
场景1:每个赛季的数据单独存为一个文件(比如CSV)
假设你把每个赛季的文件命名为 epl_2021-22.csv(注意把赛季名里的/换成-,避免文件路径问题),存在同一个文件夹下。可以用下面的函数:
import pandas as pd def get_season_stats(season): # 把赛季名里的/替换成-,匹配文件名格式 filename = f"epl_{season.replace('/', '-')}.csv" # 读取文件返回DataFrame return pd.read_csv(filename)
示例用法
# 获取2021/22赛季的数据 season_21_22 = get_season_stats("2021/22") print(season_21_22.head())
场景2:所有赛季数据存在同一个大DataFrame里(含season列)
如果你的数据已经合并成一个大DataFrame,其中有一列叫season,值是类似2021/22的字符串,可以用这个函数:
def get_season_stats(all_data, season): # 筛选出对应赛季的行 return all_data[all_data['season'] == season].reset_index(drop=True)
示例用法
# 假设你已经读取了所有数据到all_epl_data这个DataFrame里 all_epl_data = pd.read_csv("all_epl_seasons.csv") # 获取2020/21赛季的数据 season_20_21 = get_season_stats(all_epl_data, "2020/21") print(season_20_21.head())
补充提示
- 如果你的文件格式是Excel,把
pd.read_csv换成pd.read_excel即可 - 确保文件名的赛季格式和输入一致,比如文件是
2021-22_stats.csv,就调整filename的拼接逻辑 - 可以给函数加空数据判断,避免返回空DataFrame没提示:
def get_season_stats(all_data, season): filtered = all_data[all_data['season'] == season].reset_index(drop=True) if filtered.empty: print(f"未找到{season}赛季的数据") return filtered
内容的提问来源于stack exchange,提问作者a_westie99
相关产品推荐
相关产品推荐

