Teilen Sie bestimmte Spalten durch eine andere Spalte in pandas

Frage mich, ob es eine effizientere Möglichkeit der Aufteilung in mehreren Spalten einer bestimmten Spalte. Zum Beispiel sage ich:

prev    open    close   volume
20.77   20.87   19.87   962816
19.87   19.89   19.56   668076
19.56   19.96   20.1    578987
20.1    20.4    20.53   418597

Und ich möchte erhalten:

prev    open    close   volume
20.77   1.0048  0.9567  962816
19.87   1.0010  0.9844  668076
19.56   1.0204  1.0276  578987
20.1    1.0149  1.0214  418597

Grundsätzlich, Spalten 'öffnen' und 'schließen' wurden, dividiert durch den Wert aus der Spalte 'prev.'

War ich in der Lage, dies zu tun durch

df['open'] = list(map(lambda x,y: x/y, df['open'],df['prev']))
df['close'] = list(map(lambda x,y: x/y, df['close'],df['prev']))

Ich Frage mich, ob es einen einfacheren Weg? Vor allem wenn es wie 10 Spalten aufgeteilt werden, indem der gleiche Wert sowieso?

  • Warum nicht ich denke, dass....lol danke. Ich wusste, ich mache es komplizierter als es sein sollte
  • df.assign(open=df.open/df.prev, close=df.close/df.prev)?
InformationsquelleAutor user1179317 | 2017-08-26
Schreibe einen Kommentar