我有一个大数据框整理了一堆篮球数据(截图如下)。Opp-Lineup右边的每一列都是一个虚拟变量,指示该玩家(列名称中指明)是否在当前的阵容中(列名的最后一部分是team name,需要与opponent列进行比较,以确保不同球队中编号和名称相同的两名球员不会弄乱)。我知道遍历pandas数据帧的几种方法(iterrows、itertuples、iteritems),但我不知道如何完成我需要的任务,即每列中的每一行:
循环遍历数据帧并完成此任务的最佳方法是什么?在这种情况下,速度并不重要。我理解其中的所有逻辑,只是我对熊猫不够熟悉,不知道如何循环使用它,而且尝试在Google上看到的各种东西都是行不通的。在
考虑一个整形/透视解决方案,因为您的数据是宽格式的,但您需要按行比较长格式的值。所以,首先melt您的数据,这样所有的列标题都将成为一个实际的列
'Player'
,并将其对应的值'IsInLineup'
。运行伪值的条件比较,然后在列标题中使用播放器返回原始结构。当然,我没有实际的数据来全面测试这个例子。在如果上面的lambda函数看起来有点复杂,请尝试等效的apply defined function():
^{pr2}$最后我用了一个变通办法。我反复使用数据框错误对于每个迭代,为每个迭代创建一个列表,其中检查我想要的值,然后将0或1附加到临时列表中。然后我简单地把它插入到数据帧中。可能不是最有效的记忆方式,但它起作用了。在
相关问题 更多 >
编程相关推荐