目前median,Pandas的GroupBy对象上有一种方法.
有没有办法在分组上计算任意percentile(参见:http://docs.scipy.org/doc/numpy-dev/reference/generated/numpy.percentile.html)?
中位数将是百分位数的计算q=50.
我试图从数据帧计算特定的分位数值,如下面的代码所示.在单独的行中计算它没有问题.
当试图运行最后2行时,我收到错误"AttributeError:'SeriesGroupBy'对象没有属性'分位数(0.25)'".我怎样才能解决这个问题?
AttributeError: 'SeriesGroupBy' object has no attribute 'quantile(0.25)'
Run Code Online (Sandbox Code Playgroud) 这是一个示例数据帧:
df = pd.DataFrame([[1, 1, 10, 11, 12],
[1, 1, 13, 14, 15],
[1, 2, 16, 17, 18],
[1, 2, 19, 20, 21],
[1, 3, 22, 23, 24],
[1, 3, 25, 26, 27],
[1, 4, 28, 29, 30],
[1, 4, 31, 32, 33],
[1, 4, 34, 35, 36],
[1, 4, 37, 38, 39],
[1, 4, 40, 41, 42]])
df.columns = ['c1', 'c2', 'p1', 'p2', 'p3']
print(df)
Run Code Online (Sandbox Code Playgroud)
给出:
c1 c2 p1 p2 p3
0 1 1 10 11 12
1 1 …Run Code Online (Sandbox Code Playgroud)