Как найти, какой элемент повторяется больше всего в группе в Пандах? - PullRequest
0 голосов
/ 05 октября 2018

У меня есть данные, которые сгруппированы по годам и жанрам

new_df=df1.groupby(['release_year','genres'])['release_year','genres','budget_adj']

new_df.info()

моя текущая таблица похожа на

                    release_year    genres  budget_adj
                    count   count   count
release_year    genres          
1960            Action  7   7   7
              Adventure 5   5   5
                Comedy  7   7   7
                Crime   2   2   2
1961            Action  7   7   7
              Adventure 6   6   6
              Animation 1   1   1
              Comedy    8   8   8

и такна

Я хочу узнать, какие жанры больше всего производились в каждом году, как я могу написать запрос панд для этого ??

Ответы [ 2 ]

0 голосов
/ 05 октября 2018
df.columns = df.columns.map('_'.join)
df.reset_index().groupby(['genres']).apply(lambda x: x[x.genres_count == x.genres_count.max()])

Out:

                Brand   Metric   release_year_count genres_count    budget_adj_count
Brand                       
1960      0      1960   Action  7   7   7
          2      1960   Comedy  7   7   7
1961      7      1961   Crime   8   8   8
0 голосов
/ 05 октября 2018

Вы могли бы что-то вроде этого:

df.loc[df.loc[:,('genres','count')].groupby(level=0)
                                   .rank(ascending=False, method='dense')
                                   .loc[lambda x: x==1].index]

Вывод:

            release_year genres budget_adt
                   count  count      count
1960 Action            7      7          7
     Comedy            7      7          7
1961 Comedy            8      8          8
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...