Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 获取前25%的数据_Python_Pandas_Dataframe - Fatal编程技术网

Python 获取前25%的数据

Python 获取前25%的数据,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个数据帧: Column1 Column2 a 0.34 b 0.25 c 0.75 d 1.5 e 0.31 f 2.45 g 7.89 如何计算列2中最高值的前25%数据。 例如,对于7行,前25%为1.75~2 输出: Column1 Column2 g 7.8

我有一个数据帧:

Column1       Column2
a             0.34
b             0.25
c             0.75
d             1.5
e             0.31
f             2.45
g             7.89
如何计算列2中最高值的前25%数据。
例如,对于7行,前25%为1.75~2

输出:

Column1         Column2
g               7.89
f               2.45

正如您在评论中所阐明的(“25%的最高值”),这基本上是高于
75分位数的值。因此,我们可以使用:

或更短的数据帧。查询

df.query('Column2 >= Column2.quantile(q=0.75)')

我们做
qcut

df[pd.qcut(df.Column2,q=4,labels=[1,2,3,4])==4]
  Column1  Column2
5       f     2.45
6       g     7.89

pd.qcut(df.Column2,q=4)
0     (0.325, 0.75]
1    (0.249, 0.325]
2     (0.325, 0.75]
3     (0.75, 1.975]
4    (0.249, 0.325]
5     (1.975, 7.89]
6     (1.975, 7.89]
名称:Column2,数据类型:category
类别(4,区间[float64]):[(0.249,0.325]<(0.325,0.75]<(0.75,1.975]<(1.975,7.89]]

Top 25%需要更加清晰。在这种情况下,您是希望按计数还是按值(例如范围)选择25%的最高值你的价值观是什么?最好的澄清方法是添加预期的输出澄清,它是25%的最高值,不算。感谢@ErfanOP的计算并不表明这一点。OP计算25%为
7*.25
他只是澄清了这与你说的相反,我明白了。在这种情况下,我将删除我的答案:)
  Column1  Column2
5       f     2.45
6       g     7.89
df[pd.qcut(df.Column2,q=4,labels=[1,2,3,4])==4]
  Column1  Column2
5       f     2.45
6       g     7.89
pd.qcut(df.Column2,q=4)
0     (0.325, 0.75]
1    (0.249, 0.325]
2     (0.325, 0.75]
3     (0.75, 1.975]
4    (0.249, 0.325]
5     (1.975, 7.89]
6     (1.975, 7.89]
Name: Column2, dtype: category
Categories (4, interval[float64]): [(0.249, 0.325] < (0.325, 0.75] < (0.75, 1.975] < (1.975, 7.89]]