2017-02-24 5 views
6

पर लागू मैं उदाहरण के रूप में इस डेटा फ्रेम:ज्यामितीय मतलब पंक्ति

Col1  Col2  Col3  Col4 
    1   2   3  2.2 

मैं एक 4 स्तंभ 'Gmean' कि प्रत्येक पंक्ति पर पहले 3 कॉलम का ज्यामितीय मध्यमान गणना बुलाया जोड़ने के लिए करना चाहते हैं।

यह कैसे किया जा सकता है?

धन्यवाद!

उत्तर

5

एक तरीका यह हो सकता है Scipy's geometric mean function साथ होगा -

from scipy.stats.mstats import gmean 

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

formula of geometric mean के साथ ही एक और तरीका है

-

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

अगर वहाँ वास्तव में 3 स्तंभ हैं, बस df बजाय df.iloc[:,:3] का उपयोग करें। साथ ही, यदि आप प्रदर्शन की तलाश में हैं, तो आप df.values या df.iloc[:,:3].values के साथ अंतर्निहित सरणी डेटा के साथ काम करना चाहेंगे।

+0

बहुत बढ़िया! काम किया! – 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 
संबंधित मुद्दे