我想不停地找到熊猫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
答案 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