Как создать новый фрейм данных панд из топ-10 определенного столбца из существующего фрейма данных - PullRequest
0 голосов
/ 22 января 2019

Я пытаюсь выйти из фрейма данных с более чем 10.000 строками нового фрейма данных, который существует из строк, содержащих идентификаторы клиентов, которые входят в топ-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

Я хочу, чтобы мой новый фрейм данных выглядел следующим образом (поскольку идентификатор клиента 1 встречается 4 раза, идентификатор 2 встречается 3 раза, а идентификатор 3 - 2 раза, что являетсятоп-3 самых распространенных):

    Customer-ID  Name         Order-ID   Year
0   1            John         00001      2014
1   2            Doe          00002      2014
2   3            Erik         00003      2015
3   1            John         00006      2016
4   1            John         00007      2016
5   2            Doe          00008      2016
6   3            Erik         00009      2017
7   1            John         00010      2018
8   2            Doe          00011      2018

Я надеюсь, что кто-то может мне помочь, заранее спасибо!

1 Ответ

0 голосов
/ 22 января 2019

Вы можете проверить value_counts с помощью 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...