Currently there is a median
method on the Pandas's GroupBy
objects.
Is there is a way to calculate an arbitrary percentile
(see: http://docs.scipy.org/doc/numpy-dev/reference/generated/numpy.percentile.html) on the groupings?
Median would be the calcuation of percentile with q=50
.
You can caluclate pandas percentage with total by groupby() and DataFrame. transform() method. The transform() method allows you to execute a function for each value of the DataFrame. Here, the percentage directly summarized DataFrame, then the results will be calculated using all the data.
You want the quantile
method:
In [47]: df Out[47]: A B C 0 0.719391 0.091693 one 1 0.951499 0.837160 one 2 0.975212 0.224855 one 3 0.807620 0.031284 one 4 0.633190 0.342889 one 5 0.075102 0.899291 one 6 0.502843 0.773424 one 7 0.032285 0.242476 one 8 0.794938 0.607745 one 9 0.620387 0.574222 one 10 0.446639 0.549749 two 11 0.664324 0.134041 two 12 0.622217 0.505057 two 13 0.670338 0.990870 two 14 0.281431 0.016245 two 15 0.675756 0.185967 two 16 0.145147 0.045686 two 17 0.404413 0.191482 two 18 0.949130 0.943509 two 19 0.164642 0.157013 two In [48]: df.groupby('C').quantile(.95) Out[48]: A B C one 0.964541 0.871332 two 0.826112 0.969558
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With