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

Python(Pandas)读取电力数据集计算列最大值返回问号求助

问题根因
  • 目标数据集的缺失值使用?作为占位符,读取数据时未指定该占位符,导致Global_active_power列被识别为字符串(object)类型,未被解析为数值类型
  • 字符串类型调用max()方法时按ASCII码排序比较,?的ASCII码高于0-9的数字字符,因此返回结果为?
修复代码

直接在读取阶段指定缺失值标记即可:

import pandas as pd

data = pd.read_table(
    'household_power_consumption.txt',
    sep=';', 
    low_memory=False,
    header=0, 
    index_col=False,
    parse_dates=[0],
    na_values='?'  # 新增参数,将?识别为缺失值
)

col = data["Global_active_power"]
# 若仍存在类型问题,可追加一行强制转数值:col = pd.to_numeric(col, errors='coerce')
max_value = col.max()
print(max_value)
补充验证

可以输出列类型确认修复效果:print(col.dtype),修复后正常输出为float64,计算最大值时会自动忽略缺失值,返回正确的数值结果。

内容的提问来源于stack exchange,提问作者北科大-Minh Tung Doan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 10:57:08