Pandas中求某一列中每个列表的平均值

2022-08-17 18:59:26 浏览数 (1)

大家好,我是皮皮。

一、前言

前几天在Python最强王者交流群【冫马讠成】问了一道Pandas处理的问题,如下图所示。

原始数据如下:

代码语言:javascript复制
df = pd.DataFrame({
    'student_id': ['S001','S002','S003'],
    'marks': [[88,89,90],[78,81,60],[84,83,91]]})
df

预期的结果如下图所示:

二、实现过程

方法一

这里【瑜亮老师】给出一个可行的代码,大家后面遇到了,可以对应的修改下,事半功倍,代码如下所示:

代码语言:javascript复制
df['dmean'] = df['marks'].map(lambda x: np.mean(x))

运行之后,结果就是想要的了。

方法二

后来【瑜亮老师】又给了一份优化后的代码如下所示:

代码语言:javascript复制
df['dmean'] = df['marks'].map(np.mean)
或者
df['dmean'] = df['marks'].apply(np.mean)

运行之后,结果就是想要的了。

完美的解决了粉丝的问题!

三、总结

大家好,我是皮皮。这篇文章主要盘点了一道使用Pandas处理数据的问题,文中针对该问题给出了具体的解析和代码实现,一共两个方法,帮助粉丝顺利解决了问题。

最后感谢粉丝【冫马讠成】提问,感谢【月神】、【瑜亮老师】给出的思路和代码解析,感谢【dcpeng】等人参与学习交流。

0 人点赞