我遇到了在 pandas 中创建一种非常特殊的布尔列的问题。我正在处理 NBA 数据,我想为球员何时获得三双创建一个专栏。这段代码的工作原理:
james_harden['trip_dub'] = (james_harden['points'] >= 10) & (james_harden['rebounds' >= 10) & (james_harden['assists'] >= 10)
james_harden['trip_dub'] = james_harden['trip_dub'].map(lambda x: 1 if x == True else 0)
Run Code Online (Sandbox Code Playgroud)
然而三双可以通过得分、篮板和助攻来实现...得分、篮板和盖帽...篮板、盖帽和助攻...等等
我想知道是否可以编写代码来检查总共五列中的三列的任何组合是否大于或等于 10...
那么,如果我有 a、b、c、d、e 列,我该如何检查 if (a >= 10 and b>= 10 and c>=10) OR (a >= 10 and d>=10 and e >= 10)
?
我正在尝试实现下面链接的这个确切解决方案,但似乎 GROUP_CONCAT_UNQUOTED 不再是有效的 BQ 函数。有没有在 2020 年有效的解决方案?
ps我会在原帖上发表评论,但显然我的声誉还不够高......