[英]python pandas: Check if dataframe's column value is in another dataframe's column, then count and list it
[英]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.