![](/img/trans.png)
[英]Python : Creating stacked histogram with number of different values in numpy array
[英]Creating a limit to find the sum of array values to a set number Numpy Python
我想创建一个函数,其中Arrays
和Arrays2
数组的总和等于val
。 该函数应该修改Arrays
和Arrays2
值,以便最后一个索引将数组中所有值的总和输出为val
。 怎样才能得到预期的输出?
import numpy as np
Arrays = np.array([50, 30, 25, 87, 44, 68, 45])
Arrays2 = np.array([320])
val = 300
预期输出:
[50, 30, 25, 87, 44, 64]
[300]
尝试这个:
import numpy as np
Arrays = np.array([50, 30, 25, 87, 44, 68, 45])
Arrays2 = np.array([320])
val = 300
def asd(arr, v):
new_a = []
for i in arr:
if sum(new_a + [i]) < v:
new_a.append(i)
else:
new_a.append(v-sum(new_a))
break
return np.array(new_a)
print(asd(Arrays, val))
print(asd(Arrays2, val))
[50 30 25 87 44 64]
[300]
像这样的东西?
import numpy as np
Arrays = np.array([50, 30, 25, 87, 44, 68, 45])
Arrays2 = np.array([320])
val = 300
def thisRareFunction(arr):
outArrays = []
acum = 0
for x in arr:
acum += x
if acum <=val:
outArrays.append(x)
else:
outArrays.append(x -(acum-val))
break
return outArrays
print(thisRareFunction(Arrays))
print(thisRareFunction(Arrays2))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.