Python 如何用元素之和限制np数组
我需要通过元素的总和来限制数组。 所以,我想做一些类似的事情Python 如何用元素之和限制np数组,python,numpy,Python,Numpy,我需要通过元素的总和来限制数组。 所以,我想做一些类似的事情 l = [1, 3, 4, 5, 2, 7] if sum(l) >= 10: ans = [1, 3, 4, 0, 0, 0] 通常,我想生成一些列车,它们有5或10分钟的差异(p_I=1/2) a=np.random.choice([5,10],(10**4,n))——就像这样 但是元素的总和必须您可以通过以下方式将np.cumsum与np.argmax一起使用: import numpy as np MAX_S
l = [1, 3, 4, 5, 2, 7]
if sum(l) >= 10:
ans = [1, 3, 4, 0, 0, 0]
通常,我想生成一些列车,它们有5或10分钟的差异(p_I=1/2)
a=np.random.choice([5,10],(10**4,n))
——就像这样
但是元素的总和必须您可以通过以下方式将
np.cumsum
与np.argmax
一起使用:
import numpy as np
MAX_SUM = 10
arr = np.array([[1, 3, 4, 5, 2, 7]])
arr[np.argmax(np.cumsum(arr) >= MAX_SUM):] = 0
print(arr)
# array([1, 3, 4, 0, 0, 0])
您可以尝试np.cumsum(),现在您也可以对您接受的答案进行投票!我不能,因为我没有足够的评分,但现在可以了)