首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python:列子集的基于行的均值

Python:列子集的基于行的均值
EN

Stack Overflow用户
提问于 2016-04-20 11:20:48
回答 2查看 118关注 0票数 0

我目前是一个初级程序员,正在开发一个项目,在网上编写和部署特定的行为延迟计算,以便应用程序可以容纳通过CSV上传的任何数据帧。分析要求我取人内列数N的平均值(即,在同一行内),并迭代所有受访者。

如何将执行此计算的特定实例转换为通用函数,以便将其更通用地应用于上传的任何数据帧。例如,如何编写下面的基于行的平均值计算来处理N个属性/列:

代码语言:javascript
运行
复制
data['PersonalAverage'] = (data[[2]] + data[[4]] + data[[6]] + data[[8]] + data[[10]] + data[[12]] + data[[14]] + data[[16]] + data[[18]] + data[[20]] + data[[22]] + data[[24]] + data[[26]] + data[[28]] + data[[30]] + data[[32]] + data[[34]])/17

如果我上传了一个只有5个属性(而不是17个)的CSV会怎么样?

有谁能给我指个方向吗?

EN

回答 2

Stack Overflow用户

发布于 2016-04-20 12:46:13

您可以使用data.mean来实现此目的。

代码语言:javascript
运行
复制
In [3]: df
Out[3]: 
   a  b  c  d
0  1  2  3  4
1  4  5  6  7
2  2  4  6  8
3  3  2  1  4
4  0  1  2  4

In [4]: cols = ['a', 'b', 'd']    # Columns to consider for average

In [5]: df['mean'] = df[cols].mean(axis=1)

In [7]: df
Out[7]: 
   a  b  c  d      mean
0  1  2  3  4  2.333333
1  4  5  6  7  5.333333
2  2  4  6  8  4.666667
3  3  2  1  4  3.000000
4  0  1  2  4  1.666667
票数 0
EN

Stack Overflow用户

发布于 2020-09-23 01:21:19

代码语言:javascript
运行
复制
df['mean'] = df.mean(axis=1)

但是,如果您在第一列中指定了对象类型描述,则可以跳过该操作,只需使用以下命令来计算平均值

代码语言:javascript
运行
复制
df['mean'] = df.iloc[:,1:].mean(axis=1)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36733225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档