我有一个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
只是想引起你的注意。此外,想知道什么是最有效的解决方法。
答案 0 :(得分:1)
也无法重现这一点。
但是df.T.quantile(0.95)
应该有用。