Schneller Weg, um zu ändern den jeweiligen Wert in dataframe NACH ursprünglichen Wert
Ich habe einen dataframe mit 30000 Spalten und 4000 Zeilen. Jede Zelle Eintrag enthält eine ganze Zahl. Für JEDEN Eintrag, möchte ich multiplizieren Sie den ursprünglichen Inhalt mit log(k/m),
wobei k die Gesamtanzahl der Zeilen, dh.4000 und m ist die Gesamtzahl der nicht-null-Zeilen für die jeweilige SPALTE.
Mein Aktueller code nutzt gelten:
for column in df.columns:
m = len(df[column].to_numpy().nonzero())
df[column] = df[column].apply(lambda x: x * np.log10(4000/m))
Dieser nimmt mich Stunden (????). Ich hoffe, es ist etwas schneller Weg, es zu tun, jemand irgendwelche Ideen?
Dank