我是Python的新手。我正在尝试创建一组基本的描述性统计数据(min、max、IQR等)。
我删减了一些代码来帮助我走到这一步,但因为我使用了groupby,所以它有点复杂:
Causesofdeathbyyear = deathdata.groupby(['Year','Causes of Death'])当我试图在一个四分位数范围和另一个四分位数范围之间做一个简单的差值时,我得到了一个错误。

发布于 2016-07-04 12:10:45
您应该只传递IQR而不是IQR()
下面是一个类似的例子:
In[1]: import pandas as pd
In[2]: import numpy as np
In[3]: data = pd.DataFrame({"A": np.random.random_integers(0, 100, 100), "Year": np.random.random_integers(2000, 2015, 100)})
In[4]: grouped_by_year = data.groupby("Year")
In[5]: def mm_diff(x):
return np.max(x) - np.min(x)
In[6]: grouped_by_year["A"].agg([np.sum, mm_diff])
Out[6]:
sum mm_diff
Year
2000 465 78
2001 277 72
2002 242 76
2003 390 78
2004 755 82
2005 495 92
2006 174 78
2007 189 54
2008 359 78
2009 139 66
2010 139 41
2011 406 77
2012 309 66
2013 123 50
2014 295 75
2015 295 92https://stackoverflow.com/questions/38176655
复制相似问题