我正在尝试开发一种代码,以从200名玩家中选择出11名最佳玩家。我用到目前为止的球员价格和积分开发了一个电子表格,并使用下面的Pandas将其导入DF,
import pandas as pd
import numpy as np
df=pd.read_excel('FPL.xlsx')
print(df)
Player Price Points Position Select
0 Henderson 4.9 79 GK 1
1 Foster 4.8 79 GK 1
2 Ryan 4.8 78 GK 1
3 Schmeichel 5.4 78 GK 1
4 Ramsdale 4.7 76 GK 1
5 Guaita 5.1 76 GK 1
....
200
df['select price']=df['Price']*df['Select']
df['select points']=df['Points']*df['Select']
sumpoints=df['select points'].sum()
sumplayers=df['Select'].sum()
sumprice=df['select price'].sum()
我的想法是创建一个选择列,并将其乘以价格列和点列,然后优化问题如下:
Select*points
的总和这可以通过将选择列中的变量更改为0或1来完成(即,如果相应行的球员被选中参加团队,则为1,否则为0)。
如果使用excel求解器,这是非常简单的方法,但是我想学习如何在Python中做到这一点。