1
에 값을 뺍 :반복적으로 같은 간단한 NumPy와 배열에서 시작 배열
a = np.array([1,1,0,2,1,0])
내 목표는 반복적으로 특정 임계 값까지이의 값을 빼기하는 것입니다. 예를 들어, 사용자 수를 포함하여 a
을 생각해보십시오. 이 경우 5 사용자가 함께 배포됩니다 유지
d = a/a.sum()
가 지금은 초기 유통까지의 시간에서 4 사용자를 빼야 할 항상 결과 배열에> 0 값. (단일 실행에서)를 생성
b = np.random.multinomial(4,d)
: 내가 함께 뺄 임의의 배열을 만들 수 있습니다 a-b
같은 결과가 초래
array([0, 1, 0, 3, 0, 0])
:
array([ 1, 0, 0, -1, 1, 0])
어떻게 할 수 생성 된 배열은 결과로 (a-b)
연산에서 음수 값을 생성하지 않습니다. 지금까지 나는 무작위 분포를 생성, 다른 측면에서 일을에서 생각 : 사용자 d
의 초기 분포에 따라
r = np.random.multinomial(total users - deleted users,d)
을,하지만 난 벡터에 대한 몇 가지 통계를 적용해야하기 때문에, 결과는 다를 수 있습니다 후자의 접근법에서. 당신이 무작위로 부정되고 a
의 요소없이 n
에 의해 a.sum()
을 감소하려면
그냥 할 수 없어'np.maximum (AB, 0) '? 결과에서 음이 아닌 값을 보장하려면? – EdChum
@EdChum에 감사 드려요.하지만이 경우 사용자를 "잃어 버렸을"것입니다. 아이디어는'(a-b)> 0' 인 경우에만 'a'로 뺄셈 값으로 들어가는 배열'b'를 만드는 것입니다. –
'np.where ((ab)> 0, ab, a)' – EdChum