У меня есть некоторые значения (X), которые принадлежат различным группам (G). Я хотел бы (N) разделить каждое значение на максимальное значение в группе, как показано в этой таблице:
Я пытался:
df = pd.DataFrame({'X': [0.2, 0.3, 0.4, 0.5, 0.6, 0.7],
'G': [1, 1, 1, 2, 2, 2 ]})
def fun (X):
Norm = 1 / max(X)
return X * Norm
f = np.vectorize(fun, otypes=[float])
df['N'] = f(df['X']).groupby('G')
но это дает:
TypeError: 'float' object is not iterable