Schnelle Frage, dass ich für die beste Umsetzung brainst. Ich erzeuge eine Matrix, um zu addieren, wie oft zwei Elemente nebeneinander in einer Liste über eine große Anzahl von Permutationen dieser Liste gefunden werden. Mein Code sieht in etwa wie folgt aus:Fügen Sie Werte für übereinstimmende Spalten- und Zeilennamen hinzu
agreement_matrix = pandas.DataFrame(0, index=names, columns=names)
for list in bunch_of_lists:
for i in range(len(list)-1):
agreement_matrix[list[i]][list[i+1]] += 1
Es erzeugt ein Array wie:
A B C D
A 0 2 1 1
B 2 0 1 1
C 1 1 0 2
D 1 1 2 0
Und weil ich nicht über Auftrag egal wie viel ich will Werte addieren, so es so ist:
A B C D
A 0 4 2 2
B 0 0 2 2
C 0 0 0 4
D 0 0 0 0
Gibt es eine schnelle/einfache Möglichkeit, dies zu erreichen? Ich habe mit beiden herumgespielt, sowohl nach der Generation als auch nach dem Versuch, es zu tun, während ich Werte hinzufügte.
@ cᴏʟᴅsᴘᴇᴇᴅ denke ich Ihre Antwort ist gut. –
@AndyHayden Danke. Nur nicht sicher wegen OP und ihrer "erwarteten Ausgabe". :-( –
@OP Etwas über Ihre erwartete Ausgabe scheint falsch. Können Sie bitte bestätigen? Sollte nicht AD 2 sein? BD Ich würde mir vorstellen, dass auch 2 sein sollte. –