在Python中,我有一个类似于以下内容的pandas DataFrame:
Person
我必须按城市分组,然后计算本年度与前几年相比的百分比增长。 (用于计算%的增加,增加/ originalNumber * 100。)
例如,城市NLR有2行,因此与2017-08-21年相比,2019-09-25年的增长百分比是两倍。
我尝试过以下操作:
id city start_date end_date quantity
-------------------------------------------------------------
1 | NLR | 2017-08-21 | 2017-08-27 9 |
2 | GDR | 2018-08-23 | 2018-08-23 9 |
3 | HYD | 2018-08-23 | 2018-08-23 21 |
4 | NLR | 2019-09-25 | 2019-09-25 18 |
--------------------------------------------------------------
但不了解,如何在按城市订购时获取数量列的max()值。每次我需要查找max()和sum()然后计算%时,一个城市可能会有n年。有人可以帮助或指导我怎么做吗?
答案 0 :(得分:2)
g1.groupby(['city'])['quantity'].pct_change()
应该这样做。