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

Pandas处理学生数据:表格冗余及类型转换错误修复后异常求助

解决方案

问题1:Total Students列出现冗余数据

你的student_count = school_data_complete_df.count()返回的是Series对象(每列的非空值计数),并非单个总学生数。将这个Series放入district_summary_df时,会把所有列的计数填充进去,导致冗余。

解决方法:

  • 如果学生有唯一标识列(比如student_id),用nunique()获取唯一学生总数(避免重复计数):
    # 获取唯一学生总数
    student_count = school_data_complete_df["student_id"].nunique()
    
  • 若确认所有列非空值数一致,也可以取Series的第一个值:
    student_count = school_data_complete_df.count().iloc[0]
    

处理后student_count为单个数值,放入汇总表后只会显示一个总学生数。

问题2:类型错误与百分比列异常

原代码报错是因为student_count是Series,float(student_count)无法将整个Series转为单个float值。即便改用astype("float"),本质还是在操作Series,导致计算出的百分比也是Series,放入汇总表后显示异常。

解决方法:
先按问题1的方式将student_count转为单个数值,再计算百分比:

# 先获取单个学生总数
student_count = school_data_complete_df["student_id"].nunique()

# 计算数学及格率
passing_math_percentage = (passing_math_count / student_count) * 100

# 计算阅读及格率
passing_reading_percentage = (passing_reading_count / student_count) * 100

此时计算出的百分比为单个数值,放入district_summary_df后会显示正常的百分比值。

内容的提问来源于stack exchange,提问作者Natnael Berhanu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 11:12:18