bei einem Datenrahmen mit einer beschreibenden Spalte und X numerischen Spalten, für jede Zeile möchte ich die oberen N Spalten mit den höheren Werten identifizieren und sie als Zeilen auf einem speichern neuer DatenrahmenSuche nach oberen N Spalten für jede Zeile im Datenrahmen
Betrachten wir zum Beispiel den folgenden Datenrahmen:
df = pd.DataFrame()
df['index'] = ['A', 'B', 'C', 'D','E', 'F']
df['option1'] = [1,5,3,7,9,3]
df['option2'] = [8,4,5,6,9,2]
df['option3'] = [9,9,1,3,9,5]
df['option4'] = [3,8,3,5,7,0]
df['option5'] = [2,3,4,9,4,2]
ich ausgeben möchte (können sagen, N 3 ist, so möchte ich die Top 3):
A,option3
A,option2
A,option4
B,option3
B,option4
B,option1
C,option2
C,option5
C,option4 (or option1 - ties arent really a problem)
D,option5
D,option1
D,option2
and so on....
eine Idee, wie das leicht erreicht werden kann? Dank
welche Art von Format, das Sie tun wollen? –
Da das OP nie geantwortet hat, nehmen wir die vernünftige Annahme, dass sie einen Datenrahmen haben wollen, nicht eine Liste von Listen oder was auch immer. – smci
Erneut umbenannt, da das OP anscheinend * "Top-N-Spalten suchen" * anstelle von * "Top-N-Spalten auswählen ..." * auswählen möchte, was eine Pandas-Operation mit df-Ausgabe wäre. – smci