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(),现在您也可以对您接受的答案进行投票!我不能,因为我没有足够的评分,但现在可以了)