Python案例:统计克鲁伊夫转身做了几次
下面用一个模拟足球比赛事件数据的案例,演示如何用 Python 统计"克鲁伊夫转身"这个动作出现了几次。

案例背景
假设我们有一份球员动作记录数据,每行记录一次触球动作,我们需要统计其中"克鲁伊夫转身"出现的次数。
基础统计(列表 + count)
# 球员一系列触球动作记录
actions = [
"传球", "克鲁伊夫转身", "射门", "带球",
"克鲁伊夫转身", "传球", "克鲁伊夫转身", "抢断",
"克鲁伊夫转身", "射门", "传球", "克鲁伊夫转身"
]
# 统计克鲁伊夫转身次数
count = actions.count("克鲁伊夫转身")
print(f"克鲁伊夫转身共做了 {count} 次")
输出:
克鲁伊夫转身共做了 5 次
从 CSV 文件读取并统计(更贴近真实场景)
假设有一个 match_events.csv 文件:
minute,player,action 12,梅西,传球 15,梅西,克鲁伊夫转身 23,梅西,射门 31,梅西,克鲁伊夫转身 45,梅西,抢断 58,梅西,克鲁伊夫转身 67,梅西,传球 78,梅西,克鲁伊夫转身 88,梅西,射门
Python 代码:
import csv
def count_action(csv_file, action_name):
count = 0
with open(csv_file, encoding="utf-8") as f:
reader = csv.DictReader(f)
for row in reader:
if row["action"] == action_name:
count += 1
print(f"第 {row['minute']} 分钟:{row['player']} 做出 {action_name}")
return count
total = count_action("match_events.csv", "克鲁伊夫转身")
print(f"\n克鲁伊夫转身共做了 {total} 次")
输出:
第 15 分钟:梅西 做出 克鲁伊夫转身
第 31 分钟:梅西 做出 克鲁伊夫转身
第 58 分钟:梅西 做出 克鲁伊夫转身
第 78 分钟:梅西 做出 克鲁伊夫转身
克鲁伊夫转身共做了 4 次
用 pandas 统计(最简洁)
import pandas as pd
df = pd.read_csv("match_events.csv")
# 统计次数
count = (df["action"] == "克鲁伊夫转身").sum()
print(f"克鲁伊夫转身共做了 {count} 次")
# 查看每次发生的时间
moves = df[df["action"] == "克鲁伊夫转身"]
print(moves[["minute", "player"]])
# 按球员统计(如果是多人数据)
print(df[df["action"] == "克鲁伊夫转身"]["player"].value_counts())
输出:
克鲁伊夫转身共做了 4 次
minute player
1 15 梅西
3 31 梅西
5 58 梅西
7 78 梅西
player
梅西 4
Name: count, dtype: int64
可视化统计结果
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv("match_events.csv")
move_count = df["action"].value_counts()
plt.rcParams["font.sans-serif"] = ["SimHei"] # 中文显示
plt.rcParams["axes.unicode_minus"] = False
plt.figure(figsize=(8, 5))
move_count.plot(kind="bar", color="steelblue")"球员动作统计")
plt.ylabel("次数")
plt.xticks(rotation=45)
plt.tight_layout()
plt.show()
| 步骤 | 说明 |
|---|---|
| 数据来源 | 列表 / CSV / JSON / 数据库 / API |
| 筛选条件 | action == "克鲁伊夫转身" |
| 计数方法 | count() / sum() / value_counts() |
| 结果展示 | 打印 / 表格 / 图表 |
核心一行代码:
count = actions.count("克鲁伊夫转身") # 列表
count = (df["action"] == "克鲁伊夫转身").sum() # pandas
如果你有真实的数据格式(比如某个 API 返回的 JSON),可以发给我,我帮你写对应的统计代码。