Python 如何从现有数据框的某个列的前10个创建新的数据框
我正试图从一个超过10000行的数据框中获得一个新的数据框,它存在于保存客户ID的行中,这是现有数据框中最常见的前3行 因此,当我现有的数据帧如下所示:Python 如何从现有数据框的某个列的前10个创建新的数据框,python,pandas,dataframe,Python,Pandas,Dataframe,我正试图从一个超过10000行的数据框中获得一个新的数据框,它存在于保存客户ID的行中,这是现有数据框中最常见的前3行 因此,当我现有的数据帧如下所示: Customer-ID Name Order-ID Year 0 1 John 00001 2014 1 2 Doe 00002 2014 2 3 Erik 00003
Customer-ID Name Order-ID Year
0 1 John 00001 2014
1 2 Doe 00002 2014
2 3 Erik 00003 2015
3 4 Paul 00004 2015
4 5 Karin 00005 2016
5 1 John 00006 2016
6 1 John 00007 2016
7 2 Doe 00008 2016
8 3 Erik 00009 2017
9 1 John 00010 2018
10 2 Doe 00011 2018
我希望我的新数据帧如下所示(因为客户ID 1出现4次,ID 2出现3次,ID 3出现2次,这是最常见的3次):
我希望有人能帮我,提前谢谢 您可以使用
isin
yourdf=df[df['Customer-ID'].isin(df['Customer-ID'].value_counts().head(3).index)]
yourdf
Out[67]:
Customer-ID Name Order-ID Year
0 1 John 1 2014
1 2 Doe 2 2014
2 3 Erik 3 2015
5 1 John 6 2016
6 1 John 7 2016
7 2 Doe 8 2016
8 3 Erik 9 2017
9 1 John 10 2018
10 2 Doe 11 2018
您可以使用isin检查
值\u计数
yourdf=df[df['Customer-ID'].isin(df['Customer-ID'].value_counts().head(3).index)]
yourdf
Out[67]:
Customer-ID Name Order-ID Year
0 1 John 1 2014
1 2 Doe 2 2014
2 3 Erik 3 2015
5 1 John 6 2016
6 1 John 7 2016
7 2 Doe 8 2016
8 3 Erik 9 2017
9 1 John 10 2018
10 2 Doe 11 2018