Numpy: κ³ κΈ‰ μΈλ±μ‹±μ˜ μƒˆλ‘œμš΄ μ—„μ²­λ‚œ 버그?

에 λ§Œλ“  2017λ…„ 03μ›” 30일  Β·  3μ½”λ©˜νŠΈ  Β·  좜처: numpy/numpy

이것은 λ²„κ·Έμž…λ‹ˆλ‹€.

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 μŠ¬λΌμ΄μ‹±μ— λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆκΉŒ?

53 - Invalid

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

"같은 μœ„μΉ˜"에 두 번 μ“°λ €κ³  ν•œλ‹€λŠ” 것을 μ•Œκ³  μžˆμŠ΅λ‹ˆλ‹€(예 [1, 2] . λΆˆν–‰νžˆλ„ (λ˜λŠ” λ‹€ν–‰μŠ€λŸ½κ²Œλ„ 관점에 따라) μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

κ·ΈλŸ¬λ‚˜ np.add.at λ₯Ό μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ¬Έμ„œμ— λ”°λ₯΄λ©΄ "ufunc μΆ”κ°€μ˜ 경우 이 방법은 두 번 이상 μΈλ±μ‹±λœ μš”μ†Œμ— λŒ€ν•΄ κ²°κ³Όκ°€ λˆ„μ λœλ‹€λŠ” 점을 μ œμ™Έν•˜λ©΄ a[indices] += b와 λ™μΌν•©λ‹ˆλ‹€.":

train = np.zeros([26,26])
np.add.at(train, [tmp[:-1], tmp[1:]], 1)

λͺ¨λ“  3 λŒ“κΈ€

λ‹Ήμ‹ μ—κ²Œλ„ λ§ˆμ°¬κ°€μ§€μž…λ‹ˆλ‹€.

"같은 μœ„μΉ˜"에 두 번 μ“°λ €κ³  ν•œλ‹€λŠ” 것을 μ•Œκ³  μžˆμŠ΅λ‹ˆλ‹€(예 [1, 2] . λΆˆν–‰νžˆλ„ (λ˜λŠ” λ‹€ν–‰μŠ€λŸ½κ²Œλ„ 관점에 따라) μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

κ·ΈλŸ¬λ‚˜ np.add.at λ₯Ό μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ¬Έμ„œμ— λ”°λ₯΄λ©΄ "ufunc μΆ”κ°€μ˜ 경우 이 방법은 두 번 이상 μΈλ±μ‹±λœ μš”μ†Œμ— λŒ€ν•΄ κ²°κ³Όκ°€ λˆ„μ λœλ‹€λŠ” 점을 μ œμ™Έν•˜λ©΄ a[indices] += b와 λ™μΌν•©λ‹ˆλ‹€.":

train = np.zeros([26,26])
np.add.at(train, [tmp[:-1], tmp[1:]], 1)

감사 ν•΄μš”!

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰