gpt4 book ai didi

python - pandas系列/帧分位数函数采用多个概率?

转载 作者:行者123 更新时间:2023-12-01 05:43:10 29 4
gpt4 key购买 nike

有没有办法调用frame.quantile(或series.quantile)并提供概率列表?看起来这只是代码中的一个遗漏,因为它依赖于 scipy.stats.scoreatpercentile ,它同时接受概率列表和轴参数。

In [10]: df = pandas.DataFrame(randn(100,10))

In [11]: df.shape
Out[11]: (100, 10)

In [12]: df.quantile().shape
Out[12]: (10,)

In [13]: df.quantile(q=array([0.1, 0.2, 0.3]))
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-13-0e8c5e9629fc> in <module>()
----> 1 df.quantile(q=array([0.1, 0.2, 0.3])
....

比较:

scipy.stats.scoreatpercentile(randn(100,10), per=[0.1, 0.2], axis=0)

最佳答案

你可以写一个:

def quantile_list(df, quantiles):
return type(df)({q: df.quantile(q) for q in quantiles})
# this will work for both Series and DataFrames

quantile_list(df, array([0.1, 0.2, 0.3]))

使用示例:

In [11]: df = pd.DataFrame(randn(100,10)

In [12]: quantile_list(df, [0.1, 0.2, 0.3])
Out[12]:
0.1 0.2 0.3
0 -1.170263 -0.873469 -0.646108
1 -1.022404 -0.710545 -0.475673
2 -1.052089 -0.624228 -0.284597
3 -1.258572 -0.768058 -0.511088
4 -1.326680 -0.711250 -0.496603
5 -1.251355 -0.927114 -0.585490
6 -1.288566 -0.855460 -0.554957
7 -1.434426 -1.021975 -0.675071
8 -1.151979 -0.705312 -0.465302
9 -1.228328 -0.836559 -0.450415

In [13]: quantile_list(df[1], [0.1, 0.2, 0.3])
Out[13]:
0.1 -1.022404
0.2 -0.710545
0.3 -0.475673
dtype: float64

关于python - pandas系列/帧分位数函数采用多个概率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16945007/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com