2015-12-31 8 views
8

Potrzebuję podzielić wszystkie oprócz pierwszych kolumn w DataFrame przez pierwszą kolumnę.Dzielenie wielu kolumn przez inną kolumnę w pandach

Oto, co robię, ale zastanawiam się, czy to nie jest „prawo” pandy sposób:

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

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

Czy istnieje sposób, aby zrobić coś podobnego df[['B','C']]/df['A']? (To właśnie daje ramkę danych 10x12 z nan.)

Po przeczytaniu kilku podobnych pytań na temat SO wypróbowałem df['A'].div(df[['B', 'C']]), ale to daje błąd transmisji.

Odpowiedz

17

Wierzę, że praca df[['B','C']].div(df.A, axis=0) i df.iloc[:,1:].div(df.A, axis=0).

Powiązane problemy