完全错误:
"PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling
frame.insert
many times, which has poor performance. Consider using pd.concat instead. To get a de-fragmented frame, usenewframe = frame.copy()
payouts[x] = ranking[x].map(prizes.set_index('Rank')['Payout'].to_dict())"
lineups = range(1, 5)
prizes = {'Rank':[1, 2, 3], 'Payout':[100, 50, 25]}
prizes = pd.DataFrame(prizes)
payouts = pd.DataFrame(lineups, columns=['Lineup'])
ranking = {'Lineup':[1, 2, 3, 4], 1:[1, 2 , 3, 4], 2:[2, 1, 4, 3], 3:[4, 1, 2, 3], 4:[1, 3, 4, 2]}
ranking = pd.DataFrame(ranking)
for x in range(1, 4):
payouts[x] = ranking[x].map(prizes.set_index('Rank')['Payout'].to_dict())
payouts = payouts.fillna(-20)
代替循环,我们可以创建一个} {a2}到} 中的每一列,并使用
mapper
然后^{ranking
然后^{payouts
:或者,我们可以^{} 和^{} 其中值超出最大奖金等级:
两者都产生
payouts
:*注意:在本例中,排名包含在不初始化
payouts
的情况下构建数据帧的必要信息:或
数据帧和导入:
相关问题 更多 >
编程相关推荐