簡體   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