相关疑难解决方法(0)

将百分位数传递给pandas agg功能

我想通过pandas的agg()函数传递numpy percentile()函数,就像我在下面用各种其他numpy统计函数一样.

现在我有一个如下所示的数据框:

AGGREGATE   MY_COLUMN
A           10
A           12
B           5
B           9
A           84
B           22
Run Code Online (Sandbox Code Playgroud)

我的代码看起来像这样:

grouped = dataframe.groupby('AGGREGATE')
column = grouped['MY_COLUMN']
column.agg([np.sum, np.mean, np.std, np.median, np.var, np.min, np.max])
Run Code Online (Sandbox Code Playgroud)

上面的代码有效,但我想做类似的事情

column.agg([np.sum, np.mean, np.percentile(50), np.percentile(95)])
Run Code Online (Sandbox Code Playgroud)

即指定从agg()返回的各种百分位数

该怎么做?

python numpy pandas

38
推荐指数
11
解决办法
3万
查看次数

Pandas:按两列分组并以 LONG 格式查找 3 列的第 25、中位数、第 75 个百分位数和平均值

这是一个示例数据帧:

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)

python python-3.x pandas pandas-groupby

4
推荐指数
2
解决办法
4964
查看次数

标签 统计

pandas ×2

python ×2

numpy ×1

pandas-groupby ×1

python-3.x ×1