有没有一种快速的方法来查找熊猫数据框的全局分位数?

时间:2019-08-16 21:07:37

标签: python-3.x pandas dataframe

我想不停地找到熊猫dataframe的第20个分位数,而不是每列。我知道.quantile函数可以沿特定轴查找分位数,但是,如果所有列都是整数,是否有快速捷径来查找整个dataframe的分位数?

使用大熊猫series作为介体的预期结果的示例:

>>> import pandas as pd
>>> df= pd.DataFrame(data={1: [55, 11, 13, 9, 11],
                           2: [56, 75, 31, 1, 25]})
>>> df.quantile(.2)  # this finds two quantiles, one per column
1    10.6
2    20.2
Name: 0.2, dtype: float64
# The workaround
>>> s = df[1].append(df[2])
>>> s.quantile(.2)
10.6

2 个答案:

答案 0 :(得分:2)

您可以为此使用numpy的np.quantile [numpy-doc]

>>> import numpy as np
>>> np.quantile(df, 0.2)
10.6

或者我们可以直接在pandas模块中使用numpy库导入:

>>> pd.np.quantile(df, 0.2)
10.6

答案 1 :(得分:1)

这里是melt

df.melt().value.quantile(0.2)
Out[309]: 10.6