繁体   English   中英

强制n维数组内的数组具有相同的大小

[英]force the arrays inside n dimensional array to have the same size

我是python的初学者,我需要给我的n维数组中的数组提供相同的大小(narray):我的初始数组:

[array([  6.27963604e-04,   3.58836345e-04,   1.79418172e-04,
         0.00000000e+00,   0.00000000e+00,   8.97090862e-05,
         8.97090862e-05])],  [array([  4.64746103e-04,   4.35699472e-05,   2.90466315e-05,
         4.35699472e-05,   8.71398944e-05,   1.45233157e-05,
         0.00000000e+00,   1.45233157e-05,   0.00000000e+00,
         1.45233157e-05])],  [array([  8.71113726e-04,   7.85430409e-05,   6.78326262e-05,
         3.92715204e-05,   1.78506911e-05,   1.78506911e-05,
         1.78506911e-05,   7.14027644e-06,   0.00000000e+00,
         1.07104147e-05,   0.00000000e+00,   0.00000000e+00,
         0.00000000e+00,   0.00000000e+00,   3.57013822e-06])]]

我想要的输出:我希望通过删除其他元素并强制每个数组的大小为7来获得数组中每个包含7个元素的n数组:

[array([  6.27963604e-04,   3.58836345e-04,   1.79418172e-04,
         0.00000000e+00,   0.00000000e+00,   8.97090862e-05,
         8.97090862e-05])],[array([  4.64746103e-04,   4.35699472e-05,   2.90466315e-05,
         4.35699472e-05,   8.71398944e-05,   1.45233157e-05,
         0.00000000e+00])], [array([  8.71113726e-04,   7.85430409e-05,   6.78326262e-05,
         3.92715204e-05,   1.78506911e-05,   1.78506911e-05,
         1.78506911e-05])]

谢谢 ,

我相信你有numpy数组列表,在这种情况下你可以使用列表理解切片

>>> import numpy as np
>>> narray = [np.arange(np.random.randint(7,10)) for i in range (5)]
[array([0, 1, 2, 3, 4, 5, 6, 7, 8]),
 array([0, 1, 2, 3, 4, 5, 6, 7, 8]),
 array([0, 1, 2, 3, 4, 5, 6]),
 array([0, 1, 2, 3, 4, 5, 6]),
 array([0, 1, 2, 3, 4, 5, 6, 7, 8])]

>>> clipped_arr = [a[:7] for a in narray]
[array([0, 1, 2, 3, 4, 5, 6]),
 array([0, 1, 2, 3, 4, 5, 6]),
 array([0, 1, 2, 3, 4, 5, 6]),
 array([0, 1, 2, 3, 4, 5, 6]),
 array([0, 1, 2, 3, 4, 5, 6])]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM