Skip to main content
 首页 » 编程设计

python之获取数组平均值的更多 pythonian 方法

2025年05月04日14jiqing9006

有时我仍然无法适应“更像 Python 的方式”来编写代码……现在我正在迭代一些值 (x)。我有很多数组,我总是比较所有数组的第一个值、第二个值……简而言之:按数组中的位置比较数组中所有条目的平均值。

   sum_mean_x = [] 
   for i in range(0, int_points): 
       for j in range(0, len(x)): 
           mean_x.append(x[j][i]) 
       sum_mean_x.append(sum(mean_x)/len(x)) 
       mean_x = [] 

我很确定可以做得 super 漂亮。我知道我可以将倒数第二行更改为类似 sum_mean_x.append(mean_x.mean) 的内容,但是,我想我通过这种方式错过了一些重要的魔法。

请您参考如下方法:

使用 numpy数字处理包。假设您在纯 Python 中有以下三个列表:

a1 = [1., 4., 6.] 
a2 = [3., 7., 3.] 
a3 = [2., 0., -1.] 

并且您想获得每个位置的平均值。将向量排列在一个数组中:

import numpy as np 
a = np.array([a1, a2, a3]) 

然后你可以像这样得到每列的平均值:

>>> a.mean(axis=0) 
array([ 2.        ,  3.66666667,  2.66666667])