在Python / Pandas中按行获取百分位数

时间:2014-11-07 06:46:37

标签: python pandas

我有一个Dataframe,我想要逐行百分位数。虽然pandas.quantile()[0.14]方法的文档包含 axis = 参数,但结果并不符合预期:

In [4]: df = pd.DataFrame(np.random.randn(6, 3), columns=['a', 'b', 'c'])

In [5]: df
Out[5]:
          a         b         c
0 -0.815200  0.137148 -1.378515
1  0.106762  0.689793 -0.261648
2 -1.013495  0.807520  1.211062
3 -0.182480  1.082589 -0.825990
4  0.480081  0.864027 -0.192584
5 -2.081455 -0.003881 -1.003602

In [6]: df.quantile(0.95,axis=1)
Out[6]: 
a    0.386751
b    1.027949
c    0.860151
dtype: float64

In [7]: df.quantile(0.95,axis=0)
Out[7]: 
a    0.386751
b    1.027949
c    0.860151
dtype: float64

只是想引起你的注意。此外,想知道什么是最有效的解决方法。

1 个答案:

答案 0 :(得分:1)

也无法重现这一点。 但是df.T.quantile(0.95)应该有用。