gpt4 book ai didi

python - 用 NBA 数据在 Pandas 中打造三双列

转载 作者:行者123 更新时间:2023-11-28 22:12:57 27 4
gpt4 key购买 nike

我在 pandas 中创建一种非常特殊的 boolean 列时遇到了问题。我正在处理 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)

但是三双可以通过得分、篮板和助攻来实现...得分、篮板和盖帽...篮板、盖帽和助攻...等等

我想知道是否可以编写代码来检查总共五列中的三列的任何组合是否大于或等于 10...

因此,如果我有 a、b、c、d、e 列,我该如何检查 (a >= 10 and b>= 10 and c>=10) OR (a >= 10 and d> =10 且 e >= 10)

最佳答案

假设你有5项统计,三双定义为至少3项统计中至少得到10分,你可以使用pd.DataFrame.sum沿axis=1:

stats = ['points', 'rebounds', 'assists', 'blocks', 'steals']
james_harden['trip_dub'] = (james_harden[stats] >= 10).sum(1) >= 3

这个想法是 james_harden[stats] >= 10 表示一个 boolean 数据帧,并沿列对其调用 sumTrue 的数量进行求和每行中的值。然后我们只需检查每行中的数字是否大于或等于 3

关于python - 用 NBA 数据在 Pandas 中打造三双列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54381858/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com