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

2024-09-28 19:29:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前是一个初级程序员在一个项目上工作,写和部署一个特定的行为延迟计算在线,这样的应用程序可以容纳任何数据帧上传通过CSV。分析要求我取person内N个列的平均数(即,在同一行内),并遍历所有受访者。你知道吗

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

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呢。你知道吗

有人能给我指出正确的方向吗?你知道吗


Tags: csv数据项目实例函数应用程序data属性
1条回答
网友
1楼 · 发布于 2024-09-28 19:29:35

您可以使用data.mean来实现这样的目的。你知道吗

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

相关问题 更多 >