Полагаю, это поможет.
Я создаю df со случайными значениями с 7 столбцами, делю первые 6 с 7-м столбцом, а затем вычисляю hhi , используя вспомогательную функцию Calculate_hhi .
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(20, 7), columns=list('ABCDEFG'))
def calculate_hhi(row):
hhi = 1 - (row['A']**2 + row['B']**2 + row['C']**2 + row['D']**2 + row['E']**2 + row['F']**2 )
return hhi
df.iloc[:, 0:6] = df.iloc[:, 0:6].apply(lambda x: x/df.G, axis=0)
df['hhi'] = df.apply(calculate_hhi, axis=1)