So erhalten Sie Werte aus einer Spalte einer Textdatei für Werte einer anderen Spalte


user5049061

Ich lese Daten aus einer Textdatei. Die Textdatei enthält grundsätzlich solche Werte

1 2 5
1 3 5
1 5 8
2 2 10
2 3 5
2 5 4

Mein Code

data = np.loadtxt('test.txt')
player = data.T[0]
position = data.T[1]
score = data.T[2]

Grundsätzlich, wenn ich alle Punkte von Spieler 1 finden möchte score[player==1], gebe ich 5,5,10. Aber ich möchte alle Punktewerte finden, die für zwei Spieler gleich sind. Wenn ich das mache, score[player==1 or player==2]erhalte ich die Fehlermeldung:

ValueError: Der Wahrheitswert eines Arrays mit mehr als einem Element ist nicht eindeutig. Verwenden Sie a.any () oder a.all ()

Bitte beraten Sie, wie dies erreicht werden kann.

Mike Müller

Dies gibt Ihnen alle Punkte für Spieler 1 und 2 zusammen:

>>> score[np.logical_or(player==1, player==2)]
array([  5.,   5.,   8.,  10.,   5.,   4.]) 

Wenn Sie nach dem Schnittpunkt der Punktzahlen zwischen beiden Spielern suchen, verwenden Sie:

>>> np.intersect1d(score[player==1], score[player==2])
5.0

Verwandte Artikel