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

ZyBooks中Pandas Cats DataFrame函数实现技术求助

两个Pandas猫咪数据处理函数的实现

1. get_min_by_sex(df, s, col)

这个函数的核心是筛选指定性别的数据,再计算目标列的最小值,实现如下:

import pandas as pd

def get_min_by_sex(df, s, col):
    # 筛选性别匹配s的记录
    target_rows = df[df['sex'] == s]
    # 无匹配数据时返回None(也可根据需求返回NaN)
    if target_rows.empty:
        return None
    # 返回目标列的最小值
    return target_rows[col].min()

注意:这里默认数据集里存储性别的列名为sex,如果你的数据里是gender或其他名称,记得替换df['sex']中的列名。加入空数据判断是为了避免无匹配结果时抛出异常,考试里这种鲁棒性处理会加分。

2. get_mean_by_birth_month(df, gt, col)

这个函数需要先从出生日期中提取月份,再筛选月份大于gt的记录,最后计算目标列的平均值:

import pandas as pd

def get_mean_by_birth_month(df, gt, col):
    # 确保出生日期列是datetime类型(避免提取月份失败)
    df['birth_date'] = pd.to_datetime(df['birth_date'], errors='coerce')
    # 筛选出生月份大于gt的记录
    target_rows = df[df['birth_date'].dt.month > gt]
    # 无匹配数据时返回None
    if target_rows.empty:
        return None
    # 返回目标列的平均值
    return target_rows[col].mean()

注意:这里默认出生日期列名为birth_date,需根据实际数据集调整。errors='coerce'参数是为了把无效的日期格式转为NaT,避免转换失败报错,同样是提升鲁棒性的细节。

内容的提问来源于stack exchange,提问作者Grace Mcpadden

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 19:53:19