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
相关产品推荐
相关产品推荐

