在熊猫中创建特定类型的布尔列时遇到了问题。我正在处理NBA数据,我想为一名球员获得三重双打创建一列。这段代码有效:
Console.ReadLine()
然而,在得分,篮板和助攻...三分,篮板和盖帽...篮板,盖帽和助攻...等条件下都可以实现三双。
我想知道是否可以编写代码来检查总共五列中的三列的任何组合是否大于或等于10 ...
因此,如果我有a,b,c,d列,如何检查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)
是否为
答案 0 :(得分:4)
假设您有5个统计数据,并且在至少3个统计数据中至少有10个点被定义为三重对偶,那么您可以在$var1 = item1;
$var2 = item2;
$var3 = item3;
$var4 = item4;
$var5 = item5;
中使用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
,将每行中sum
个值的数量相加。然后,我们只需要检查每一行中的数字是否大于或等于True
。