当前解决方案-
for idx, row in data.iterrows():
rp = row['right_player_test']
lp = row['left_player_test']
p = row['Player']
if rp in p:
data.loc[idx, 'side'] = 'right'
elif lp in p:
data.loc[idx, 'side'] = 'left'
else:
print('bad -', lp, rp, p)
右玩家测试是“配对信息”字段中的右玩家
左棋盘测试是“对决信息”字段中的左棋手
在“数据”数据框中有更多的统计数据,它们是为“玩家”字段中的任何人提供的
目标是确定“Player”是在“Matchup\u info”的左侧还是右侧,并将结果分配到“side”列,以便我可以从“Score”字段中获得正确的值。分数中“-”左边的数字属于左边的选手,反之亦然。你知道吗
例如,在第一个记录中,Tihomir Grozdanov
的总分为12(6+6),而Vatutin
的总分为5(4+1)
问题是,我这样做了大约250K+行(与可能的更多),这是需要几个小时才能完成。有没有更快的方法来完成这个任务?你知道吗
我想不出如何在这里使用apply()
,因为我需要使用3列来计算side
字段。我现在能想到的唯一其他解决方案是尝试使用多处理软件包,但我想在跳到那个之前看看是否有其他的替代方案。你知道吗
谢谢!你知道吗
您可以使用
numpy
select
,与zip
相关问题 更多 >
编程相关推荐