Ich versuche, eine neue Serie von einem DataFrame zu bekommen. Diese Serie sollte die Spaltennamen der DataFrame-Werte enthalten, die für jede Zeile des DataFrames über einem bestimmten Wert liegen. Aber beginnend von der linken Seite der Datenrahmen, wie folgt aus:Pandas Series mit Spaltennamen für jeden Wert über einem Minimum
df = pd.DataFrame(np.random.randint(0,10,size=(5, 6)), columns=list('ABCDEF'))
>>> df
A B C D E F
0 2 4 6 8 8 4
1 2 0 9 7 7 1
2 1 7 7 7 3 0
3 5 4 4 0 1 7
4 9 6 1 5 1 5
min = 3
Erwartete Ausgabe:
0 B
1 C
2 B
3 A
4 A
dtype: object
Hier die Zeile des Ausgangs 0 ist „B“, weil in der Dataframe Zeilenindex 0 Spalte „B“ die linke Spalte, die einen Wert hat, der gleich oder größer als min = 3
ist.
Ich weiß, dass ich df.idxmin(axis = 1)
verwende, um die Spaltennamen des Minimums für jede Zeile zu erhalten, aber ich habe jetzt Ahnung, wie man dieses komplexere Problem anpackt.
Vielen Dank für Hilfe oder Hinweise!
Könnten Sie bitte Ihre erwartete Ausgabe überarbeiten? Für die Zeile = 0 sollte es "B" sein (9> = 3 und ist die am weitesten links stehende>> = 3), für "Zeile = 1" -> "A", "Zeile = 2" -> 'A' ??? – MaxU
Oh, etwas ging schief. Sie haben natürlich Recht, ich habe sowohl den Datenrahmen als auch die erwartete Ausgabe bearbeitet. Es tut uns leid. – smiss