Pandas: Holen Sie sich entsprechende Spalte Wert in der Zeile basierend auf eindeutigen Wert

Ich habe herausgefunden, wie man die Informationen, die ich will, aber ich wäre überrascht, wenn es nicht eine besser lesbare Möglichkeit, dies zu tun.

Ich möchte den Wert in einer anderen Spalte in der Zeile mit den Daten, die ein element I geben. Zum Beispiel, was ist der Wert in "b", das entspricht dem Wert von 10 'eine'.

>>> df
    a   b   c
0  10  20  30
1  11  21  31
2  12  22  32

>>> df['b'][df[df['a'] == 11].index.tolist()].tolist()
[21]

Dies ist, wie ich es momentan gelöst, aber in der Praxis meine dataframes werden nicht benannt, so prägnant und ich habe lange Zeichenfolgen als Spalten-Namen, so dass die Leine wird schwer zu Lesen.

EDIT: Wenn der Wert in 'a' nicht eindeutig ist, gibt es auch einen Weg, um alle entsprechenden Werte in 'b'?

  • Du meinst df.loc[df['a'] == 11,'b']?
  • Mach ich, danke! @EdChum wird dieser auch zurück, so werden alle entsprechenden Werte in 'b' wenn der Wert in 'a' ist nicht einzigartig?
  • Ja............
InformationsquelleAutor aberger | 2016-10-14
Schreibe einen Kommentar