我是Python的新手。我试图创建一组基本的描述性统计数据(min,max,IQR等)。
我剪了一些代码来帮助我到达我所处的位置,但由于我使用了groupby,因此它有点复杂:
Causesofdeathbyyear = deathdata.groupby(['Year','Causes of Death'])
当我尝试在一个四分位数和另一个四分位数范围之间做一个简单的区别时,我收到了一个错误。
答案 0 :(得分:0)
您应该只是传递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 92