繁体   English   中英

当数据框列中的值为 x 时,使用 Jupyter Notebooks 和 Python 计算另一个列值为 y 的次数?

[英]When a value in a dataframe's column is x, count how many times another columns value is y using Jupyter Notebooks & Python?

我希望能够回答“击球手在击出 6 后被下一个球出局的可能性有多大?”这个问题。

为此,我想评估值“6”的“batsman_runs”列,如果是这样,我想评估下一行的“player_dismissed”列。

例如,对于整个数据集,如果第 2 行中的“batsman_runs”=“6”,那么第 3 行中的“player_dismissed”是否包含值? 如果有,请数 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]

您可以使用 shift function 并检查如下情况。 当玩家在 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())]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM