python案例统计克鲁伊夫转身做了几次?

wen python案例 1

Python案例:统计克鲁伊夫转身做了几次

下面用一个模拟足球比赛事件数据的案例,演示如何用 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),可以发给我,我帮你写对应的统计代码。

抱歉,评论功能暂时关闭!