对于以下数据框,print data.groupby(['date'])['sales'].sum().max()
将仅返回给定天数内总销售额的最大值。如何找出最大销售发生的日期。
date brand price quantity sales vat
31-May-13 Reebok 10 23 230 3.5
31-May-13 Adidas 10 25 250 2.8
31-May-13 Campus 8 21 168 3.5
31-May-13 Nike 10 20 200 6.5
31-May-13 Woods 2 7 14 2.8
01-Jun-13 Reebok 4 27 108 2.2
01-Jun-13 Adidas 7 28 196 3.8
01-Jun-13 Campus 7 41 287 4.2
01-Jun-13 Nike 2 39 78 7.2
01-Jun-13 Woods 5 26 130 3.3
02-Jun-13 Reebok 10 5 50 2.2
02-Jun-13 Adidas 10 15 150 3.8
02-Jun-13 Campus 6 32 192 4.2
02-Jun-13 Nike 7 13 91 7.2
02-Jun-13 Woods 6 30 180 3.3
答案 0 :(得分:4)
使用.idxmax()
代替.max
定义:df.idxmax(self,axis = 0,skipna = True) 文档字符串: 返回请求轴上第一次出现最大值的索引。 NA / null值被排除在外。
轴:{0,1} 行为0,列为1 skipna:布尔值,默认为True 排除NA / null值。如果整行/列为NA,则为结果 将是第一个索引。
idxmax:系列
此方法是ndarray.argmax
的DataFrame版本。
Series.idxmax
In [19]: data.groupby(['date'])['sales'].sum().idxmax()
Out[19]: '31-May-13'