我有一个很大的df,这是一个例子来说明我的问题。我想从这个数据框中知道哪个id在工作中占第一位。我想确定(我用一个虚拟的想法)百分之一有更多的工作分配
例如
id year rap cohort jobs year_of_life rap_new
1 2009 0 NaN 10 NaN 0
2 2012 0 2012 12 0 0
3 2013 0 2012 12 1 1
4 2014 0 2012 13 2 1
5 2015 1 2012 15 3 1
6 2016 0 2012 17 4 0
7 2017 0 2012 19 5 0
8 2009 0 2009 15 0 1
9 2010 0 2009 2 1 1
10 2011 0 2009 3 2 1
11 2012 1 2009 3 3 0
12 2013 0 2009 15 4 0
13 2014 0 2009 12 5 0
14 2015 0 2009 13 6 0
15 2016 0 2009 13 7 0
16 2011 0 2009 3 2 1
17 2012 1 2009 3 3 0
18 2013 0 2009 18 4 0
19 2014 0 2009 12 5 0
20 2015 0 2009 13 6 0
.....
100 2009 0 2007 5 6 1
转换成这样的东西,在这个数据帧中,因为我们有100个id,从100的百分之一是1,然后在作业中寻找最大的id。我真的df改变了观察的数量,这就是为什么我要寻找一些标准的代码,无论观察的数量是多少,它总是适用的
id year rap cohort jobs year_of_life rap_new new_var
1 2009 0 NaN 10 NaN 0 0
2 2012 0 2012 12 0 0 0
3 2013 0 2012 12 1 1 0
4 2014 0 2012 13 2 1 0
5 2015 1 2012 15 3 1 0
6 2016 0 2012 17 4 0 0
7 2017 0 2012 18 5 0 0
8 2009 0 2009 15 0 1 0
9 2010 0 2009 2 1 1 0
10 2011 0 2009 3 2 1 0
11 2012 1 2009 3 3 0 0
12 2013 0 2009 15 4 0 0
13 2014 0 2009 12 5 0 0
14 2015 0 2009 13 6 0 0
15 2016 0 2009 13 7 0 0
16 2011 0 2009 3 2 1 0
17 2012 1 2009 3 3 0 0
18 2013 0 2009 19 4 0 1
19 2014 0 2009 12 5 0 0
20 2015 0 2009 13 6 0 0
.....
100 2009 0 2007 5 6 1 0
pandas
附带了一个rank
方法,用于获取rank
或percentile
。您可能需要:所以要筛选前1%中的行:
或前50%:
您可以使用
pd.Series.quantile
来标识截止线设置
解决方案
相关问题 更多 >
编程相关推荐