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

含数值与字符串的DataFrame调用df.median()报错,求数值列中位数方法

解决方法

直接针对目标数值列计算中位数即可,避免让方法遍历所有列,具体有几种实用方式:

  • 指定目标列计算
    如果你明确要计算CompTotal、ConvertedComp这两列的中位数,直接选中它们再调用median():

    df[['CompTotal', 'ConvertedComp']].median()
    

    这种方式精准锁定目标列,完全避开字符串列的干扰。

  • 自动筛选所有数值列
    要是需要获取所有数值型列的中位数,不用手动罗列列名,可以先筛选出数值类型的列再计算:

    # 筛选出整数、浮点数类型的列
    numeric_columns = df.select_dtypes(include=['int64', 'float64']).columns
    df[numeric_columns].median()
    
  • 处理数值列中的脏数据
    如果你的数值列里混有字符串(比如CompTotal列存在非数值内容),先把列转换为数值类型,无法转换的内容设为NaN,再计算中位数:

    import pandas as pd
    # 转换CompTotal列,错误值转为NaN
    df['CompTotal'] = pd.to_numeric(df['CompTotal'], errors='coerce')
    # 转换ConvertedComp列,错误值转为NaN
    df['ConvertedComp'] = pd.to_numeric(df['ConvertedComp'], errors='coerce')
    # 计算中位数,会自动忽略NaN值
    df[['CompTotal', 'ConvertedComp']].median()
    

内容的提问来源于stack exchange,提问作者Anupama Sharma

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 14:02:03