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

如何将含字母的Pandas DataFrame列转为数值型并计算SAT总分?

解决SAT分数字符串求和及处理"s"值的问题

方法1:删除包含"s"的行后求和

如果带"s"的行没有保留价值,可以直接过滤后再处理:

# 假设合并后的DataFrame叫merged_df,SAT分数列名为'sat_score'
# 筛选出分数不等于"s"的行
filtered_df = merged_df[merged_df['sat_score'] != 's']
# 把字符串类型的分数转成整数
filtered_df['sat_score'] = filtered_df['sat_score'].astype(int)
# 计算总和
total_sat = filtered_df['sat_score'].sum()
print(total_sat)

方法2:保留行但忽略"s"值求和

如果不想删除行,只想跳过无效的"s"值,可以用pd.to_numeric的errors='coerce'参数,把无法转换的字符串转成NaN(空值),求和时sum()会自动跳过NaN:

import pandas as pd

# 转换列,将"s"转为NaN
merged_df['sat_score'] = pd.to_numeric(merged_df['sat_score'], errors='coerce')
# 计算总和
total_sat = merged_df['sat_score'].sum()
print(total_sat)

两种方法按需选择:第一种彻底清除无效行,适合只关注有效分数的场景;第二种保留所有行,仅标记无效值为空,适合需要保留其他列数据的情况。

内容的提问来源于stack exchange,提问作者Jackson Michaels

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 16:40:36