Как я могу выбрать определенные столбцы в DataFrame в зависимости от условий - PullRequest
0 голосов
/ 06 января 2019

У меня есть Набор данных IPL с именем matches.csv, который я получаю из Kaggle, откуда я пытаюсь найти место, где было сыграно максимальное количество матчей.

Приведенный ниже код дает мне правильное значение количества сыгранных матчей, но я хотел бы проверить название стадиона, где было сыграно максимальное количество матчей.

matches['venue'].value_counts().max()

Это дает мне 66

Ожидаемый результат должен быть таким:

M Chinnaswamy Stadium     66

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

Ниже заголовок кадра данных:

    id  season  city    date    team1   team2   toss_winner toss_decision   result  dl_applied  winner  win_by_runs win_by_wickets  player_of_match venue   umpire1 umpire2 umpire3
0   1   2017    Hyderabad   2017-04-05  Sunrisers Hyderabad Royal Challengers Bangalore Royal Challengers Bangalore field   normal  0   Sunrisers Hyderabad 35  0   Yuvraj Singh    Rajiv Gandhi International Stadium, Uppal   AY Dandekar NJ Llong    NaN
1   2   2017    Pune    2017-04-06  Mumbai Indians  Rising Pune Supergiant  Rising Pune Supergiant  field   normal  0   Rising Pune Supergiant  0   7   SPD Smith   Maharashtra Cricket Association Stadium A Nand Kishore  S Ravi  NaN
2   3   2017    Rajkot  2017-04-07  Gujarat Lions   Kolkata Knight Riders   Kolkata Knight Riders   field   normal  0   Kolkata Knight Riders   0   10  CA Lynn Saurashtra Cricket Association Stadium  Nitin Menon CK Nandan   NaN

Ответы [ 2 ]

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

Узнайте место, где было сыграно максимальное количество матчей

>>matches['venue'].value_counts().head(1)
M Chinnaswamy Stadium    66

Обратите внимание, что value_counts уже сортирует данные по убыванию, поэтому первая запись всегда максимальная.

Получить все детали последнего матча, который был сыгран на этом стадионе.

>>matches[matches['venue']=='M Chinnaswamy Stadium'].sort_values('date',ascending=False).head(1)

    id  season  city    date    team1   team2   toss_winner toss_decision   result  dl_applied  winner  win_by_runs win_by_wickets  player_of_match venue   umpire1 umpire2 umpire3
57  58  2017    Bangalore   2017-05-19  Kolkata Knight Riders   Mumbai Indians  Mumbai Indians  field   normal  0   Mumbai Indians  0   6   KV Sharma   M Chinnaswamy Stadium   NJ Llong    Nitin Menon NaN

Здесь вы можете создать фрагмент кадра данных, запросив название места проведения, а затем sort_values в столбце даты, указав ascending=False и получив первый результат, который даст вам последние данные о совпадении.

Примечание Я использовал последний набор данных kaggle. Значения могли измениться, но решение остается тем же.

Надеюсь, это поможет.

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

Переместите value_counts() в новую переменную, а затем вы можете извлечь подмножество этих данных.

vmax = matches['venue'].value_counts()
vmax[vmax == vmax.max()]

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

Для этого вам необходимо опубликовать образец набора данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...