首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >DataFrame中的几何平均值

DataFrame中的几何平均值
EN

Stack Overflow用户
提问于 2019-06-06 02:16:55
回答 4查看 5.6K关注 0票数 3

我正在尝试以行为单位获得几何平均值,DataFrame如下所示:

代码语言:javascript
复制
               PLTRNSU00013 PLSRBEX00014 PLATTFI00018 PLALMTL00023 PLAMBRA00013   PLAMICA00010 PLAMPLI00019 NL0000474351 PLAPATR00018 PLAPLS000016
 2010-07-01          NaN          NaN          NaN          NaN          NaN          NaN          NaN          NaN          NaN          NaN  
 2010-10-01          NaN          NaN          NaN          NaN          NaN          NaN          NaN     0.968237          NaN          NaN 
 2011-01-01          NaN          NaN          NaN          NaN          NaN          NaN          NaN          NaN          NaN          NaN  
 2011-04-01          NaN          NaN          NaN          NaN          NaN          NaN          NaN          NaN          NaN          NaN  
 2011-07-01     0.979871          NaN          NaN          NaN          NaN          NaN          NaN      1.00999          NaN          NaN 
 2011-10-01          NaN          NaN          NaN          NaN          NaN       1.00737         NaN          NaN          NaN          NaN  
 2012-01-01          NaN          NaN          NaN          NaN          NaN          NaN          NaN          NaN      1.05766          NaN 
 2012-04-01          NaN          NaN          NaN          NaN          NaN          NaN          NaN          NaN     0.979955          NaN 
 2012-07-01          NaN          NaN          NaN          NaN          NaN          NaN          NaN          NaN      1.01718          NaN 
 2012-10-01          NaN     0.916302          NaN          NaN          NaN          NaN          NaN     0.979858          NaN          NaN 

我没有找到任何pandas构建方法,所以我使用的是来自scipy from scipy.stats.mstats import gmean的gmean,但是当在row上被调用时:

代码语言:javascript
复制
In [285]:gmean(DataFrame.loc['2015-10-01'])
Traceback (most recent call last):

  File "<ipython-input-28-e9186c65a04d>", line 1, in <module>
    gmean(DataFrame.loc['2015-10-01'])

  File "D:\Python\lib\site-packages\scipy\stats\stats.py", line 305, in gmean
    log_a = np.log(np.array(a, dtype=dtype))

 AttributeError: 'float' object has no attribute 'log'

我得到了一个异常的AttributeError,我试着用它去掉Nan

代码语言:javascript
复制
In [287]: gmean(DataFrame.loc['2015-10-01'].dropna())
Traceback (most recent call last):

  File "<ipython-input-29-e8807696d6be>", line 1, in <module>
    gmean(DataFrame.loc['2015-10-01'].dropna())

  File "D:\Python\lib\site-packages\scipy\stats\stats.py", line 305, in gmean
    log_a = np.log(np.array(a, dtype=dtype))

AttributeError: 'numpy.float64' object has no attribute 'log'

我可以使用math pow方法手动完成,但它的效率非常低,它只能使用标量。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56465969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档