据我了解,您的源 DataFrame 包含以下收入数据
每个产品和年份,例如:
year product income
0 1980 P1 120.15
1 1990 P1 120.15
2 1992 P1 140.20
3 1994 P1 160.51
4 1996 P1 171.04
5 1988 P2 140.17
6 1991 P2 145.17
7 1993 P2 160.42
8 1995 P2 181.73
9 1989 P3 140.17
10 1992 P3 175.17
11 1994 P3 240.42
12 1996 P3 315.73
但您只对 1990 到 1999 之间的 year 行感兴趣。
然后,您想将每种产品的收入相加(整个 10 年期间)。
这样做的代码是:
wrk = df.query('year.between(1990,1999)').groupby('product').income.sum()
暂时,对于上面的源数据,我们有以下
系列:
product
P1 591.90
P2 487.32
P3 731.32
Name: income, dtype: float64
(左列是索引,右列是每个人的总收入
产品)。
并得到最终结果(“畅销”产品和总收入
它带来的)运行:
result = wrk.sort_values(ascending=False).head(1)
它也是一个系列,但只包含一个元素:
product
P3 731.32
Name: income, dtype: float64
(P3为指数,731.32为总收益)。
所有其他解决方案(到目前为止介绍的)为
一年(在感兴趣的时期内),而不是总计
这段时间的收入。