我以此数据框为例:
Col1 Col2 Col3 Col4
1 2 3 2.2
我想添加一个名为'Gmean'的第4列,用于计算每行前3列的几何平均值。
如何完成它?
谢谢!
答案 0 :(得分:6)
一种方法是使用this question's answer -
from scipy.stats.mstats import gmean
df['Gmean'] = gmean(df.iloc[:,:3],axis=1)
Scipy's geometric mean function
本身的另一种方式 -
df['Gmean'] = np.power(df.iloc[:,:3].prod(axis=1),1.0/3)
如果确实有3
列,请使用df
代替df.iloc[:,:3]
。此外,如果您正在寻找性能,您可能希望使用df.values
或df.iloc[:,:3].values
处理基础数组数据。
答案 1 :(得分:4)
pom.xml