У меня большой массив данных с более чем 1 миллионом строк. Текущий df имеет только столбцы X, a, b, c. Я хочу выполнить вычисление, которое приведет к появлению новых столбцов: new_a, new_b, new_c (см. Рисунок)
Расчет: new_a = a / (X ^ 2)
У меня уже есть способ сделать это в Python:
col_list = ['a','b','c']
def new(col,X):
score = col/(X**2)
return score
new_col = ['new_a','new_b','new_c']
def calculate(df):
for i in range(len(new_col)):
df[new_col[i]] = df.apply(lambda row: new(row[col_list[i]],row['X']),axis=1)
calculate(df)
Интересно, есть ли другой способ достичь той же цели? Этот текущий способ это хорошо, но требует много времени для запуска и каким-то образом дает странные результаты для определенных операций. Спасибо.