从数组列表中获取平均列值

时间:2019-01-06 13:30:03

标签: python arrays list slice

我正在尝试获取数组列表的第1列和第2列中的值的平均值。我正在使用一个称为clusters的字典,该索引具有clusterNo的索引,在这里我要遍历clusterNo。

undefined

当我打印字典时,它会给我以下结果:

print(kMeans.clusters[clusterNo])

等等等。

我无法弄清楚如何切成列然后得到平均值。切记它们是浮点值,所以我不能简单地avg()它们。

1 个答案:

答案 0 :(得分:1)

设置

>>> import numpy as np                                                                                                       
>>> lst = [np.array([ 5.1,  3.5]), np.array([ 4.9,  3. ]), np.array([ 4.7,  3.2]), np.array([ 4.6,  3.1]), np.array([ 5. ,  3.6])]

解决方案

>>> np.mean(lst, axis=0)                                                                                                          
array([4.86, 3.28])

但是,如果需要对数据进行更多的计算或数组操作,将lst作为数组可能会比较有利。

>>> arr = np.array(lst)                                                                                                              
>>> arr                                                                                                                           
array([[5.1, 3.5],
       [4.9, 3. ],
       [4.7, 3.2],
       [4.6, 3.1],
       [5. , 3.6]])
>>> arr.mean(axis=0)                                                                                                              
array([4.86, 3.28])