NCL*_*NCL 3 python filter slice pandas
我有一个关于足球结果的熊猫数据框。数据帧的每一行代表一场足球比赛。每场比赛信息如下:
Day | WinningTeamID | LosingTeamID | WinningPoints | LosingPoints | WinningFouls | ... |
1 13 1 45 5 3
1 12 4 21 12 4
Run Code Online (Sandbox Code Playgroud)
即,根据游戏结果来划分信息:赢或输。我想检索特定球队(例如 12 支)每场比赛的数据。
Day | Points | Fouls | ... |
1 21 4 ...
2 32 6 ...
Run Code Online (Sandbox Code Playgroud)
最简单的方法是扫描整个数据帧,检查特定的 teamID 是否在WinningID或LosingID上,然后基于此检索“ Losing-columns ”或“ Winning-columns ”。有没有更“优雅”的方式来切片 pandas 数据框?这将简单地给出 12 队参与的比赛子集。
df[df[WinningTeamID == 12] | [LosingTeamID == 12]]
Run Code Online (Sandbox Code Playgroud)
如何过滤这些数据并创建所需的数据框?
您基本上可以使用 where 子句来过滤数据框。该.query选项允许您将条件传递给 Pandas 数据框。以下是针对您的具体问题的具体操作方法。
df.query['WinningTeamID == 12 | LosingTeamID == 12']
Run Code Online (Sandbox Code Playgroud)