You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建仅包含赛果为0-0的已完赛预定赛事的DataFrame

如何创建仅包含0-0已完赛赛事的DataFrame?

没问题,我来帮你梳理并完善代码,实现只展示赛果为0-0的已完赛预定赛事的DataFrame需求:

完整代码实现

import pandas as pd

# 读取意甲赛事页面的表格数据
url = 'https://fbref.com/it/comp/11/calendario/Risultati-e-partite-di-Serie-A'
df = pd.read_html(url)[0]

# 只保留我们需要的核心字段:轮次、日期、主队、比分、客队
filtered_columns_df = df[['Sett.', 'Data', 'Casa', 'Punteggio', 'Ospiti']]

# 筛选出赛果为0-0的已完赛赛事
# 重点注意:数据中的比分是长破折号「–」,不是普通短破折号,必须匹配正确才能筛选到结果
zero_zero_matches_df = filtered_columns_df.loc[filtered_columns_df['Punteggio'] == '0–0'].reset_index(drop=True)

# 打印查看最终结果
print(zero_zero_matches_df)

关键步骤解释

  • 数据读取:pd.read_html(url)[0]会自动抓取网页中的第一个表格(也就是fbref上的意甲赛事结果表),转换成DataFrame格式。
  • 字段筛选:只保留Sett.(轮次)、Data(日期)、Casa(主队)、Punteggio(比分)、Ospiti(客队)这些你需要的字段,精简数据结构。
  • 比分匹配:必须使用数据中实际的长破折号「–」来匹配0–0,如果误用普通短破折号「-」会导致筛选不到任何结果。
  • 索引重置:reset_index(drop=True)会把筛选后的结果索引重新从0开始排列,让DataFrame的结构更整洁。

另外补充一点:fbref的赛事表中,只有已完赛的赛事才会显示具体比分(未开赛的赛事比分栏为空),所以通过Punteggio == '0–0'筛选出来的结果天然就是已完赛的赛事,不需要额外判断。

内容的提问来源于stack exchange,提问作者Emanuele Negri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 03:27:27