python - 迭代 python 数组并找到 50 个值的平均值/最小值/最大值

标签 python arrays numpy mean numpy-ndarray

我有一个数组,我想将它分成子数组。我需要知道前 50 个值的平均值/最小值/最大值,然后是下一个值,依此类推。我想将平均值、最小值、最大值保存在另一个矩阵中。目前我正在这样解决:

np.array([[a[0:50].mean(), a[0:50].min(), a[0:50].max()],
          [a[51:100].mean(), a[51:100].min(), a[51:100].max()],...])

a 是矩阵。 现在这适用于相当小的数组,但我需要它来处理更大的数组。我正在考虑用 for 或 while 循环来解决它,但我尝试的一切都失败了。

最佳答案

使用array_split :

a = np.array(range(200))

b = np.array([[x.mean(), x.min(), x.max()] 
              for x in np.array_split(a, a.shape[0]/50)])

输出:

>>> b
array([[ 24.5,   0. ,  49. ],
       [ 74.5,  50. ,  99. ],
       [124.5, 100. , 149. ],
       [174.5, 150. , 199. ]])

关于python - 迭代 python 数组并找到 50 个值的平均值/最小值/最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59248029/

相关文章:

python - 按值屏蔽数组,然后屏蔽相应的矩阵

python - 如何在 Tensorflow 2.2 中训练具有多个输入的 Keras 模型?

c - 更新嵌套 C 结构数组的正确方法是什么?

javascript - Django:用整型变量替换 URL 片段

JavaScript - 数组作为函数参数在每个 for 循环中都会更改

javascript - 排序比较如何从数组中获取参数

python - 错误 "ModuleNotFoundError: No module named ' numpy'";但已安装 NumPy

Python,如何将长度不等的嵌套列表写入csv文件?

python - Hard Voting如何在scikit-learn的VotingClassifier中选出偶数个分类器的结果?

python - 理解python关闭方法