train = np.zeros([26,26])
train2 = np.zeros([26,26])
tmp = [1,2,3,4,5,6,1,2,3,4,5,6]
train[tmp[0:-1], tmp[1:]] += 1
for i in range(len(tmp)-1):
train2[tmp[i], tmp[i+1]] += 1
print(np.sum(train - train2))
μΆλ ₯μ -5
tmp
μ€λ³΅ ννμ΄ μμ λ train
κ° train2
κ°μ§ μλ€λ κ²μ μμμ΅λλ€. numpy μ¬λΌμ΄μ±μ λ¬Έμ κ° μμ΅λκΉ?
λΉμ μκ²λ λ§μ°¬κ°μ§μ λλ€.
"κ°μ μμΉ"μ λ λ² μ°λ €κ³ νλ€λ κ²μ μκ³ μμ΅λλ€(μ [1, 2]
. λΆννλ (λλ λ€νμ€λ½κ²λ κ΄μ μ λ°λΌ) μλνμ§ μμ΅λλ€.
κ·Έλ¬λ np.add.at
λ₯Ό μ¬μ©ν μ μμ΅λλ€. λ¬Έμμ λ°λ₯΄λ©΄ "ufunc μΆκ°μ κ²½μ° μ΄ λ°©λ²μ λ λ² μ΄μ μΈλ±μ±λ μμμ λν΄ κ²°κ³Όκ° λμ λλ€λ μ μ μ μΈνλ©΄ a[indices] += bμ λμΌν©λλ€.":
train = np.zeros([26,26])
np.add.at(train, [tmp[:-1], tmp[1:]], 1)
κ°μ¬ ν΄μ!
κ°μ₯ μ μ©ν λκΈ
"κ°μ μμΉ"μ λ λ² μ°λ €κ³ νλ€λ κ²μ μκ³ μμ΅λλ€(μ
[1, 2]
. λΆννλ (λλ λ€νμ€λ½κ²λ κ΄μ μ λ°λΌ) μλνμ§ μμ΅λλ€.κ·Έλ¬λ
np.add.at
λ₯Ό μ¬μ©ν μ μμ΅λλ€. λ¬Έμμ λ°λ₯΄λ©΄ "ufunc μΆκ°μ κ²½μ° μ΄ λ°©λ²μ λ λ² μ΄μ μΈλ±μ±λ μμμ λν΄ κ²°κ³Όκ° λμ λλ€λ μ μ μ μΈνλ©΄ a[indices] += bμ λμΌν©λλ€.":