2017-02-24 66 views

Odpowiedz

5

Jednym ze sposobów byłoby z Scipy's geometric mean function -

from scipy.stats.mstats import gmean 

df['Gmean'] = gmean(df.iloc[:,:3],axis=1) 

Innym sposobem z samą formula of geometric mean -

df['Gmean'] = np.power(df.iloc[:,:3].prod(axis=1),1.0/3) 

Jeśli istnieją dokładnie 3 kolumny, wystarczy użyć df zamiast df.iloc[:,:3]. Ponadto, jeśli szukasz wydajności, możesz pracować z bazowymi danymi tablicy przy pomocy df.values lub df.iloc[:,:3].values.

+0

Awesome! pracował! – datascana

4
df.assign(Gmean=df.iloc[:, :3].prod(1) ** (1./3)) 

    Col1 Col2 Col3 Col4  Gmean 
0  1  2  3 2.2 1.817121