Python 如何从现有数据框的某个列的前10个创建新的数据框

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

我正试图从一个超过10000行的数据框中获得一个新的数据框,它存在于保存客户ID的行中,这是现有数据框中最常见的前3行

因此,当我现有的数据帧如下所示:

    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