[PYTHON] Versuchen Sie, NumPys add.at mit Julia zu reproduzieren

Der Titel wie er ist.

NumPy-Code, den Sie reproduzieren möchten

Dies ist eine direkte Änderung in NumPy.

Python(NumPy)



>>> A = np.ones((3,3))
>>> A
array([[1., 1., 1.],
       [1., 1., 1.],
       [1., 1., 1.]])
>>> B = np.array([[1, 1, 1], [2, 2, 2]])
>>> B
array([[1, 1, 1],
       [2, 2, 2]])
>>> np.add.at(A, [0, 2], B)
>>> A
array([[2., 2., 2.],
       [1., 1., 1.],
       [3., 3., 3.]])

Julia Code

Beachten Sie, dass der Operator . + Zum Operator + = hinzugefügt wird, um ihn zu . + = Zu machen, und dass eine Übertragung durchgeführt wird. + = sendet nicht und ist keine direkte Änderung. Allerdings sendet . + = (Natürlich) Sendungen, aber es handelt sich um eine ** In-Place-Änderung ** [^ 1].

Julia



julia> A = ones(3,3)
3×3 Array{Float64,2}:
 1.0  1.0  1.0
 1.0  1.0  1.0
 1.0  1.0  1.0

julia> B = [1. 1. 1.; 2. 2. 2.]
2×3 Array{Float64,2}:
 1.0  1.0  1.0
 2.0  2.0  2.0

julia> selectdim(A, 1, [1, 3]) .+= B
2×3 view(::Array{Float64,2}, [1, 3], :) with eltype Float64:
 2.0  2.0  2.0
 3.0  3.0  3.0

julia> A
3×3 Array{Float64,2}:
 2.0  2.0  2.0
 1.0  1.0  1.0
 3.0  3.0  3.0

Sources numpy.ufunc.at — NumPy v1.19 Manual Arrays · The Julia Language Multi-dimensional Arrays · The Julia Language Mathematical Operations and Elementary Functions · The Julia Language

Recommended Posts

Versuchen Sie, NumPys add.at mit Julia zu reproduzieren
Versuchen Sie, Trace in Python zu berechnen
Versuchen Sie, Daten in MongoDB abzulegen
Probieren Sie Cython in kürzester Zeit aus
So rufen Sie PyTorch in Julia an
Versuchen Sie, sich mit Python bei qiita anzumelden
Versuchen Sie, Oni Mai Tsuji Miserable mit Python zu implementieren
Berechnen wir das statistische Problem mit Python
3,14 π Tag, versuchen Sie also, in Python auszugeben
Zeichnen Sie Diagramme in Julia ... Überlassen Sie die Diagramme Python
Versuchen Sie, RPN mit Python zu berechnen (für Anfänger)
Versuchen Sie, den _method-Parameter von Rails in webapp2 zu imitieren
Versuchen Sie, ein Python-Modul in C-Sprache zu erstellen
Versuchen Sie, Ihr eigenes Intro-Quiz mit Python zu verbessern
Versuchen Sie es auf verschiedene Arten zu lösen (SAT, CSP)
Versuchen Sie, Tweets mithilfe der Twitter-API in großen Mengen zu löschen
Versuchen Sie, die LED in Ihren eigenen PC einzubauen (leicht)
Versuchen Sie, die in Firefox gespeicherten Anmeldedaten zu entschlüsseln
Versuchen Sie, yolact zu implementieren
Versuchen Sie gRPC in Python
Probieren Sie 9 Slices in Python aus
Versuchen Sie es mit GUI, PyQt in Python
Versuchen Sie, die in COTOHA beliebten Schlüsselwörter zu extrahieren
Bildanalyse mit Objekterkennungs-API zum Ausprobieren in 1 Stunde
Versuchen Sie Q-Lernen in einem Kampf im Drakue-Stil [Einführung in die Stärkung des Lernens]
Versuchen Sie einfach, einen Webhook mit ngrok und Python zu erhalten