Teilen Sie mehrere Spalten durch eine andere Spalte in pandas

Muss ich teilen alle, aber die ersten Spalten in ein DataFrame von der ersten Spalte.

Hier ist, was ich Tue, aber ich Frage mich, ob dies nicht die "richtigen" pandas Weg:

df = pd.DataFrame(np.random.rand(10,3), columns=list('ABC'))

df[['B', 'C']] = (df.T.iloc[1:] / df.T.iloc[0]).T

Gibt es eine Möglichkeit, etwas zu tun, wie df[['B','C']] /df['A']? (Das gibt nur einen 10x12 dataframe von nan.)

Auch, nach der Lektüre einige ähnliche Fragen auf, SO habe ich versucht df['A'].div(df[['B', 'C']]) aber das gibt eine broadcast-Fehler.

InformationsquelleAutor itzy | 2015-12-31
Schreibe einen Kommentar