我有一个数组,我想将它分成子数组。我需要知道前 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/