我的数据设置如下,我试图找到分组数据后每个ID的金额大于0的最大年份。
df = df.groupby(['id','year']).sum().unstack().fillna(0).stack().sort(ascending=False)
print df
amount
id year
1 2015 25
2014 0
2013 0
2012 0
2011 0
2010 0
2009 0
2008 0
2007 120
2006 240
2005 100
2 2015 0
2014 0
2013 0
2012 0
2011 0
2010 0
2009 25
2008 0
2007 0
2006 0
2005 100
3 2015 0
2014 0
2013 0
2012 0
2011 0
2010 0
2009 0
2008 0
2007 0
2006 0
2005 0
... ...
从数据中我想以某种方式,形状或形式表明以下是金额大于0的第一年:
id year amount
1 2015 25
2 2009 25
3 None/Nan None/Nan
答案 0 :(得分:1)
您没有提供可重现的DataFrame,但这样做有效:
subdir, dirs, files
答案 1 :(得分:0)
我认为你可以使用类似的东西:
np.where(amount > 0)
之后,您可以选择:
np.max()
我认为对于Pandas你有非常相似的命令