有时我仍然无法适应“更像 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])
