@@ -7722,31 +7722,37 @@ def growth_rate(self, axis=-1, d=1, label='upper') -> 'Array':
77227722
77237723 Examples
77247724 --------
7725- >>> data = [[4, 5, 4, 0, 0, 4, 6 ], [2, 4, 3, 6, 6, 3, 9 ]]
7726- >>> a = Array(data, "sex=M,F ; year=2015 ..2021")
7725+ >>> data = [[4, 5, 4, 6, 9 ], [2, 4, 3, 0, 0 ]]
7726+ >>> a = Array(data, "sex=F,M ; year=2017 ..2021")
77277727 >>> a
7728- sex\year 2015 2016 2017 2018 2019 2020 2021
7729- M 4 5 4 0 0 4 6
7730- F 2 4 3 6 6 3 9
7728+ sex\year 2017 2018 2019 2020 2021
7729+ F 4 5 4 6 9
7730+ M 2 4 3 0 0
77317731 >>> a.growth_rate()
7732- sex\year 2016 2017 2018 2019 2020 2021
7733- M 0.25 -0.2 -1.0 0.0 inf 0.5
7734- F 1.0 -0.25 1.0 0.0 -0.5 2 .0
7732+ sex\year 2018 2019 2020 2021
7733+ F 0.25 -0.2 0.5 0.5
7734+ M 1.0 -0.25 - 1.0 0.0
77357735 >>> a.growth_rate(label='lower')
7736- sex\year 2015 2016 2017 2018 2019 2020
7737- M 0.25 -0.2 -1.0 0.0 inf 0.5
7738- F 1.0 -0.25 1.0 0.0 -0.5 2 .0
7736+ sex\year 2017 2018 2019 2020
7737+ F 0.25 -0.2 0.5 0.5
7738+ M 1.0 -0.25 - 1.0 0.0
77397739 >>> a.growth_rate(d=2)
7740- sex\year 2017 2018 2019 2020 2021
7741- M 0.0 -1.0 -1.0 inf inf
7742- F 0.5 0.5 1.0 -0.5 0.5
7740+ sex\year 2019 2020 2021
7741+ F 0.0 0.2 1.25
7742+ M 0.5 -1.0 -1.0
7743+
7744+ It works on any axis, not just time-based axes
7745+
77437746 >>> a.growth_rate('sex')
7744- sex\year 2015 2016 2017 2018 2019 2020 2021
7745- F -0.5 -0.2 -0.25 inf inf -0.25 0.5
7747+ sex\year 2017 2018 2019 2020 2021
7748+ M -0.5 -0.2 -0.25 -1.0 -1.0
7749+
7750+ Or part of axes
7751+
77467752 >>> a.growth_rate(a.year[2017:])
7747- sex\year 2018 2019 2020 2021
7748- M -1.0 0.0 inf 0.5
7749- F 1.0 0.0 -0.5 2 .0
7753+ sex\year 2018 2019 2020 2021
7754+ F 0.25 -0.2 0.5 0.5
7755+ M 1.0 -0.25 -1.0 0 .0
77507756 """
77517757 if isinstance (axis , Group ):
77527758 array = self [axis ]
0 commit comments