Wie kann ich einen zeilenweisen Rang in
09.03.2023 09:24:00
billy21
import pandas as pd
df = pd.DataFrame({"ID":[1,2,3,4], "a":[2,7,9,10],
"b":[6,7,4,2], "c":[3,4,8,5]})
print(df)
# ID a b c
# 0 1 2 6 3
# 1 2 7 7 4
# 2 3 9 4 8
# 3 4 10 2 5
df[["a","b","c"]] = df[["a","b","c"]].rank(method="min",
ascending=False,
axis=1).astype("int")
print(df)
# ID a b c
# 0 1 3 1 2
# 1 2 1 1 3
# 2 3 1 3 2
# 3 4 1 3 2
Da ich jedoch in Pyspark kein Äquivalent von axis=1 finden konnte, konnte ich es nicht konvertieren. Mein Datensatz umfasst 60 Millionen Zeilen und 40 Spalten, daher sollte die Empfehlung praktisch sein (z. B. kann ich sie nicht durchlaufen).