一个自动化和优化绘图和风扇阵列结构的工具。

draftfast的Python项目详细描述


简介·Build Status··

这是一个非常强大的工具,可以自动优化阵容建设,允许你在任何一个抽风或球迷决斗比赛进入数千阵容,在需要的时间,你抓住一杯咖啡。

安装

需要Python3.6。

pip install draftfast

用法

示例用法(you can experiment with these examples in repl.it):

fromdraftfastimportrulesfromdraftfast.optimizeimportrunfromdraftfast.ormimportPlayerfromdraftfast.csv_parseimportsalary_download# Create players for a classic DraftKings gameplayer_pool=[Player(name='A1',cost=5500,proj=55,pos='PG'),Player(name='A2',cost=5500,proj=55,pos='PG'),Player(name='A3',cost=5500,proj=55,pos='SG'),Player(name='A4',cost=5500,proj=55,pos='SG'),Player(name='A5',cost=5500,proj=55,pos='SF'),Player(name='A6',cost=5500,proj=55,pos='SF'),Player(name='A7',cost=5500,proj=55,pos='PF'),Player(name='A8',cost=5500,proj=55,pos='PF'),Player(name='A9',cost=5500,proj=55,pos='C'),Player(name='A10',cost=5500,proj=55,pos='C'),]roster=run(rule_set=rules.DK_NBA_RULE_SET,player_pool=player_pool,verbose=True,)# Or, alternatively, generate players from a CSVplayers=salary_download.generate_players_from_csvs(salary_file_location='./salaries.csv',game=rules.DRAFT_KINGS,)roster=run(rule_set=rules.DK_NBA_RULE_SET,player_pool=players,verbose=True,)

您可以在^{} directory中看到更多示例。

游戏规则

为一个特定的游戏优化就像设置RuleSet一样简单(见上面的例子)。图书馆的游戏规则如下表所示:

LeagueSiteReference
NFLDraftKings^{}
NFLFanDuel^{}
NBADraftKings^{}
NBAFanDuel^{}
MLBDraftKings^{}
MLBFanDuel^{}
WNBADraftKings^{}
WNBAFanDuel^{}
PGAFanDuel^{}
NASCARFanDuel^{}
SOCCERDraftKings^{}
EuroLeagueDraftKings^{}
NHLDraftKings^{}
NBA PickemDraftKings^{}
NFL ShowdownDraftKings^{}
NBA ShowdownDraftKings^{}
MLB ShowdownDraftKings^{}

请注意,您也可以为您选择的任何游戏调整draftfast,即使它没有在库中实现(prs welcome!)。使用RuleSet类,您可以生成自己的游戏规则,其中包含特定数量的玩家、工资等。示例:

fromdraftfastimportrulesgolf_rules=rules.RuleSet(site=rules.DRAFT_KINGS,league='PGA',roster_size='6',position_limits=[['G',6,6]],salary_max=50_000,)

设置

用法示例:

classShowdown(Roster):POSITION_ORDER={'M':0,'F':1,'D':2,'GK':3,}showdown_limits=[['M',0,6],['F',0,6],['D',0,6],['GK',0,6],]soccer_rules=rules.RuleSet(site=rules.DRAFT_KINGS,league='SOCCER_SHOWDOWN',roster_size=6,position_limits=showdown_limits,salary_max=50_000,general_position_limits=[],)player_pool=salary_download.generate_players_from_csvs(salary_file_location=salary_file,game=rules.DRAFT_KINGS,)roster=run(rule_set=soccer_rules,player_pool=player_pool,verbose=True,roster_gen=Showdown,)

PlayerPoolSettings

  • min_proj
  • max_proj
  • min_salary
  • max_salary
  • min_avg
  • max_avg

OptimizerSettings

  • stacks-对象的列表。示例:
roster=run(rule_set=rules.DK_NHL_RULE_SET,player_pool=player_pool,verbose=True,optimizer_settings=OptimizerSettings(stacks=[Stack(team='PHI',count=3),Stack(team='FLA',count=3),Stack(team='NSH',count=2),]),)

LineupConstraints

  • locked-要锁定的玩家列表
  • banned-要禁止的玩家列表
  • groups-玩家组约束列表。见下文
roster=run(rule_set=rules.DK_NFL_RULE_SET,player_pool=player_pool,verbose=True,constraints=LineupConstraints(locked=['Rob Gronkowski'],banned=['Mark Ingram','Doug Martin'],groups=[[('Todd Gurley','Melvin Gordon','Christian McCaffrey'),(2,3)],[('Chris Carson','Mike Davis'),1],]))
  • no_offense_against_defense-不允许进攻球员在优化的阵容中与防守球员进行匹配。目前只适用于足球,nhl和nfl——欢迎使用prs!

CSV上传

fromdraftfast.csv_parseimportuploadersuploader=uploaders.DraftKingsNBAUploader(pid_file='./pid_file.csv',)uploader.write_rosters(rosters)

支持和咨询

dfs优化只是可持续战略的一部分。长期dfs获奖者拥有最好的:

  • 玩家预测
  • 资金管理
  • 比赛多样化
  • 不同阵容的多样化(参见draftfast.exposure
  • 研究过程
  • 比赛时间阵容改变前1小时
  • …还有更多

Draftfast提供支持和咨询服务,可以帮助解决所有这些问题。Let's get in touch today

学分

特别感谢swanson,他是this repo的作者,这是本书的灵感来源。

当前项目维护人员:

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Android中Axis2 web服务的java解析响应   java读取Dockerfile命令时遇到问题:是否可以将cd刻录到jar文件中?那么tarcf是做什么的呢?   java如何防止gcmTaskService periodicTask在上一个任务尚未完成时再次运行?   jquery希望使用Java生成自动登录程序   在Hibernate中检索用BigInteger映射的属性时出现java问题   与错误用户连接时发生java错误   java Hibernate+c3p0池+ehcache失败启动   JAVAlang.ClassNotFoundException:org。mysql。JDBC无法解决,添加了mysql连接器   java如何在其键包含JSTL中的点时访问映射值?   packageprivate类中的Java方法可访问性?   java如何将文件转换为StorageObject(谷歌API)   java apache commons httpclient 4.23表单登录问题不同请求中使用的不同会话cookie   所有组件的java一个侦听器instance或每个组件的一个实例   重新启动应用程序后,不会保存ListView中的java更新   java如何修复libgdx中的屏幕无渲染   java在使用mongotemplate时遇到ClassNotFound异常