繁体   English   中英

在熊猫中达到无穷远时增加价值限制

[英]Increase limit of value when infinity is reached in Pandas

数据结构:

HEIGHT Category
   51        1
   45        1
   89        2

目标:计算几何平均值

import pandas as pd
import numpy as np
df = pd.read_csv('BaseFish',delimiter=',')
df.dropna(axis = 0)
df = df[df.HEIGHT != 0]
table = pd.pivot_table(df,values = 'HEIGHT',index = 'Category',aggfunc=(np.prod,np.count_nonzero))
table.insert(2,'GMEAN',0)
table['GMEAN']=table['prod']**(1/table['count_nonzero'])

问题:具有大量数据点的类别会产生np.prod =无穷大。 因此,最终的GMEAN也是无限的。

我的python知识非常基础,并且我使用它的唯一原因是因为数据点数超过了excels限制。

此处无需使用数据透视表。 您可以按类别分组,然后计算每个类别的几何平均值。

from scipy.stats import gmean
df.groupby('category').height.apply(gmean)

或不导入spicy.stats

gmean = lambda group: group.prod()**(1/len(group))
df.groupby('category').height.apply(gmean)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM