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

如何处理DataFrame列内的嵌套列表数据并计算对应均值

DataFrame列表列求均值解决方案

报错原因

收到'list'对象没有mean属性报错是因为Python原生list类型没有内置均值计算方法,无法直接调用属性求值,需要对每个列表单独处理。

实现代码

方法1:无额外依赖的内置函数实现

不需要安装第三方库,直接用Python原生sum和len计算,性能稳定:

import pandas as pd

# 构造和你场景一致的示例DataFrame
df = pd.DataFrame({
    'A': [12, 15, 18],
    'B': [30, 35, 40],
    'C': [[0.01, 1.234, 2.31], [3.1, 4.2, 5.3], [1.1, 2.2, 3.3]]
})

# 直接生成均值列
df['C_mean'] = df['C'].apply(lambda x: sum(x)/len(x))

方法2:基于numpy的实现

如果已经引入numpy库,写法更简洁,同时对非数值的兼容性更好:

import numpy as np

df['C_mean'] = df['C'].apply(np.mean)

带容错的扩展写法

如果存在空列表、非列表类型的异常行,可以增加判断避免报错:

def calc_list_mean(x):
    # 仅对非空列表计算均值,异常值返回自定义默认值
    if isinstance(x, list) and len(x) > 0:
        return sum(x)/len(x)
    return None

df['C_mean'] = df['C'].apply(calc_list_mean)

效果说明

执行后C_mean列即为C列每个列表对应的均值,示例第一行的计算结果为1.1847(保留四位小数),符合需求。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 20:45:06