我是python编程的新手,所以希望我的问题很容易解决。我有一个数组,我有点想将其划分为子数组。我需要知道前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. ]])