Panda перебирает строки и умножает значения n-й строки на значение следующей (n+1) строки.Python

Программы на Python
Ответить
Anonymous
 Panda перебирает строки и умножает значения n-й строки на значение следующей (n+1) строки.

Сообщение Anonymous »

Я пытаюсь перебрать несколько строк столбца и умножить n-ю строку на n+1 строку после добавления столбцов.
Я попробовал приведенный ниже код, и он работает нормально.Есть ли другой простой способ одновременно выполнить вычитание и умножение?
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']

Вывод –
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


Подробнее здесь: https://stackoverflow.com/questions/793 ... -row-value
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»