Когда значение в столбце информационного кадра равно x, подсчитайте, сколько раз будет другое значение столбца y, используя Jupyter Notebooks & Python? - PullRequest
0 голосов
/ 27 октября 2019

Я хочу иметь возможность ответить на вопрос «Какова вероятность того, что игрок с битой уволит следующий мяч после удара по 6?».

Для этого я хочу оценить столбец «batsman_runs»для значения «6», и если да, то я хочу оценить столбец «player_dismissed» в следующей строке вниз.

Например, для всего набора данных, если «batsman_runs» в строке 2 = «6»'player_dismissed' в строке 3 содержит значение? Если это так, посчитайте 1.

Вот структура моего набора данных, показанная с первыми 5 строками:

match_id  inning         batting_team                 bowling_team  over  \
0         1       1  Sunrisers Hyderabad  Royal Challengers Bangalore     1   
1         1       1  Sunrisers Hyderabad  Royal Challengers Bangalore     1   
2         1       1  Sunrisers Hyderabad  Royal Challengers Bangalore     1   
3         1       1  Sunrisers Hyderabad  Royal Challengers Bangalore     1   
4         1       1  Sunrisers Hyderabad  Royal Challengers Bangalore     1   


   ball    batsman non_striker    bowler  is_super_over   ...    bye_runs  \
0     1  DA Warner    S Dhawan  TS Mills              0   ...           0   
1     2  DA Warner    S Dhawan  TS Mills              0   ...           0   
2     3  DA Warner    S Dhawan  TS Mills              0   ...           0   
3     4  DA Warner    S Dhawan  TS Mills              0   ...           0   
4     5  DA Warner    S Dhawan  TS Mills              0   ...           0   


   legbye_runs  noball_runs  penalty_runs  batsman_runs  extra_runs  \
0            0            0             0             0           0   
1            0            0             0             0           0   
2            0            0             0             4           0   
3            0            0             0             0           0   
4            0            0             0             0           2   


   total_runs  player_dismissed dismissal_kind fielder  
0           0                No           None    None  
1           0                No           None    None  
2           4                No           None    None  
3           0                No           None    None  
4           2                No           None    None  

[5 rows x 21 columns]

1 Ответ

0 голосов
/ 27 октября 2019

вы можете использовать функцию сдвига и проверить состояние, как показано ниже. Это даст ряды, когда игрок уволен после 6

df[(df['batsman_runs'].shift()=='6')& (df['player_dismissed']!='')]

## OR, if player_dismissed for not dismissed is null

df[(df['batsman_runs'].shift()=='6')& (~df['player_dismissed'].isnull())]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...