Die anderen Lösungen (zum Zeitpunkt des Schreibens), sortieren den DataFrame mit superlinearer Komplexität pro Spalte , aber es kann tatsächlich mit linearer Zeit pro Spalte gemacht werden.
zuerst numpy.partition
partitioniert das k kleinste Elemente an den k ersten Positionen (sonst unsortiert). Um die k größten Elemente zu erhalten, können wir
Kombinieren Sie dies mit Wörterbuch Verständnis, können wir verwenden:
%Vor%