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

如何创建函数通过球队名称对DataFrame中Total_yppt值做减法运算

解决方法及学习建议

一、核心函数实现

针对你的需求,直接通过Pandas的loc方法按球队名称匹配取值是最可靠的方式(不用管中间列的数量,只要Team和Total_yppt列存在就行),以下是完整的函数代码:

import pandas as pd

# 你的原始数据
data = {
'Team': ['SF','B','NE'],
'O_Yppt': [14.5, 14.4, 14.4],
'D_Yppt': [18.9, 18.1, 16.5],
'Total_yppt': [4.4, 3.7, 1.5]}

NFL_YPPT = pd.DataFrame(data)

# 定义差值计算函数
def calculate_yppt_diff(df, team1, team2):
    try:
        # 根据球队名称筛选行,提取Total_yppt值
        yppt_team1 = df.loc[df['Team'] == team1, 'Total_yppt'].iloc[0]
        yppt_team2 = df.loc[df['Team'] == team2, 'Total_yppt'].iloc[0]
        # 返回差值
        return yppt_team1 - yppt_team2
    except IndexError:
        # 处理球队名称不存在的情况
        return "输入的球队名称在数据中不存在"

调用示例:

# 计算SF和NE的Total_yppt差值
print(calculate_yppt_diff(NFL_YPPT, 'SF', 'NE'))  # 输出:2.9

二、代码解释

  • df.loc[df['Team'] == team1, 'Total_yppt']:通过Team列的值筛选出目标球队的行,再提取Total_yppt列的数据,返回的是一个Pandas Series对象。
  • .iloc[0]:因为每个球队名称对应唯一一行数据,所以取Series的第一个元素就是该球队的Total_yppt值。
  • try-except块:防止输入不存在的球队名称导致报错,给新手更友好的提示。

三、新手学习资源推荐

  • Python基础:《Python编程:从入门到实践》,用简单案例讲解基础语法,适合零基础快速上手。
  • Pandas进阶:《利用Python进行数据分析》,是数据处理领域的经典教材,详细覆盖Pandas核心操作;也可以看Pandas官方中文文档,里面有完整的API说明和实操示例。
  • 视频教程:B站上的免费Pandas入门系列(比如黑马程序员、尚硅谷的相关教程),跟着实操能更快理解代码逻辑。

内容的提问来源于stack exchange,提问作者G. Medina

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 21:50:15