如何在Pandas中按组计算量子数
在这篇文章中,如何使用Python在Pandas中按组计算量值。
计算量化的方法有很多,但pandas提供了groupby.quantile()函数,只需几行代码就能找到量化。当所需的量化指标位于两点之间时,可以使用这个方法。
语法:
参数:
- q : 浮点数或类似数组,默认为0.5(50%四分位数)数值在0和1之间,提供要计算的四分位数。
- interpolation:{‘线性’,’较低’,’较高’,’中间点’,’最近’}。
在这个方法中,数值和插值被作为参数传递。默认情况下,q值为0.5,插值为线性。这将返回由GroupBy对象决定的系列或Dataframe。
使用中的数据框架:

dataframe
例子1:按组计算量值
import pandas as pd
game = {'Player': ['A', 'A', 'A', 'A', 'A', 'A', 'A', 'A',
'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B',
'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C'],
'wins': [2, 4, 4, 5, 6, 9, 13, 13, 15, 15, 14, 13,
11, 9, 9, 8, 8, 16, 19, 21, 14, 20, 19, 18]
}
df = pd.DataFrame(game)
df.groupby('Player').quantile(0.5)
输出:

输出
例子2:按组计算量值
import pandas as pd
game = {'Player': ['A', 'A', 'A', 'A', 'A', 'A', 'A', 'A',
'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B',
'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C'],
'wins': [2, 4, 4, 5, 6, 9, 13, 13, 15, 15, 14, 13,
11, 9, 9, 8, 8, 16, 19, 21, 14, 20, 19, 18]
}
df = pd.DataFrame(game)
df.groupby('Player').quantile(0.9)
输出:

输出