[英]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.