Panda iteriert Zeilen und multipliziert die Werte der n-ten Zeile mit dem Wert der nächsten (n+1) Zeile
Posted: 08 Jan 2025, 09:24
Ich versuche, mehrere Spaltenzeilen zu iterieren und die n-te Zeile mit n+1 Zeile zu multiplizieren, danach füge ich Spalten hinzu.
Ich habe den folgenden Code ausprobiert und er funktioniert einwandfrei.Gibt es eine andere einfache Möglichkeit, den Subtraktions- und Multiplikationsteil zusammen zu erreichen?
Ausgabe -
Ich habe den folgenden Code ausprobiert und er funktioniert einwandfrei.Gibt es eine andere einfache Möglichkeit, den Subtraktions- und Multiplikationsteil zusammen zu erreichen?
Code: Select all
import pandas as pd
df = pd.DataFrame({'C': ["Spark","PySpark","Python","pandas","Java"],
'F' : [2,4,3,5,4],
'D':[3,4,6,5,5]})
df1 = pd.DataFrame({'C': ["Spark","PySpark","Python","pandas","Java"],
'F': [1,2,1,2,1],
'D':[1,2,2,2,1]})
df = pd.merge(df, df1, on="C")
df['F_x-F_y'] = df['F_x'] - df['F_y']
df['D_x-D_y'] = df['D_x'] - df['D_y']
for index, row in df.iterrows():
df['F_mul'] = df['F_x-F_y'].mul(df['F_x-F_y'].shift())
df['D_mul'] = df['D_x-D_y'].mul(df['D_x-D_y'].shift())
df['F+D'] = df['F_mul'] + df['D_mul']
Code: Select all
C F_x D_x F_y D_y F_x-F_y D_x-D_y F_mul D_mul F+D
0 Spark 2 3 1 1 1 2 NaN NaN NaN
1 PySpark 4 4 2 2 2 2 2.0 4.0 6.0
2 Python 3 6 1 2 2 4 4.0 8.0 12.0
3 pandas 5 5 2 2 3 3 6.0 12.0 18.0
4 Java 4 5 1 1 3 4 9.0 12.0 21.0