betrachten unter pandas
Datenrahmen, wie mehrere Spalten von Pandas Datenrahmen Inplace und in einzelne Instanz
df = pd.DataFrame(np.random.randint(1,10,15).reshape(-1,3), columns = list('abc'))
ich möchte aktualisieren Werte aller drei Spalten als Verhältnisse an Ort und Stelle (dh Spalten Werte geteilt durch Summe aller aktualisieren drei Spalten, Achse = 1) in einer einzigen Instanz.
so etwas wie:
df = df.loc[:,['a','b','c']]/df.loc[:,['a','b','c']].sum(axis = 1)
Wie kann ich das erreichen?
Ich kann dies nicht tun, wenn die Achse auf 1 (horizontal) eingestellt ist. Dies funktioniert zwar, wenn die Achse auf 0 (vertikal) eingestellt ist. In diesem Fall muss ich das df transponieren. etwas wie: df.T.div (df.T.sum()) T –
Überprüfen Sie das Update, Sie müssen die Achse entsprechend in den beiden Funktionen angeben. – Psidom