2016-10-05 6 views
0

In meinem für Schleife möchte ich eine Spalte durch eine andere teilen. Der Name der zweiten Spalte hängt von dem ersten ab. Beispiel Datenrahmen Spalten wie folgt aussehen:Iterativ teilen Spalte für Spalte plus Suffix (Pandas)

column1, column1_mean, column2, column2_mean 

Ich möchte iterativ jede Spalte zu unterteilen, indem seine entsprechende bedeuten Spalte (column1/column1_mean; column2/column2_mean).

Danke für Ihre Hilfe.

Antwort

0

Für eine gegebene Liste der Spaltennamen cols = ['column1', 'column2', ... ], können Sie .div() verwenden, um eine Liste der Spalten durch eine andere Liste von Spalten zu unterteilen, und verwenden Sie String-Formatierung die zweite Liste von Spalten zu machen, basierend auf dem ersten:

df[cols].div(df[['{0}_mean'.format(col) for col in cols]]) 

Aber eine einfachere Art und Weise zusammen mit der Herstellung der mittleren Spalten zu verzichten wäre:

df[cols].div(df[cols].mean())