棒球统计模拟器
bbcmd的Python项目详细描述
bbcmd
命令行棒球数据工具。这个项目包括两个命令行工具,用于生成各种统计数据和从web上抓取数据。
内容
安装
通过PyPi使用pip
pip install bbcmd
或使用git
git clone git://github.com/luciancooper/bbcmd.git bbcmd
cd bbcmd
python setup.py install
安装说明
此项目依赖于命令行进度条的cmdprogress
命令
安装后,bbsim
和bbscrape
命令应该在系统路径中,通过python安装的Scripts
目录
刮刀
bbscrape
命令是一个从以下网站中收集数据的工具:
模拟器设置
第一步。下载数据
下载模拟器运行模拟所依赖的必要逐播数据源文件。这些文件存储在github的bbsrc存储库中。这些文件中的数据是从retrosheet.org提供的逐播数据派生的。retrosheet是一个令人惊叹的组织,它为每一个mlb游戏精心编制了一个一个游戏的数据,可以追溯到1921年。了解有关retrosheet项目here的更多信息。
bbsim setup --env years path
years
-必需:要下载按播放播放数据的指定mlb季节,可以是一年(2016
)、一年范围(2014-2016
)或这两个季节的逗号分隔组合(2012-2014,2016
或2012-2014,2015-2017
,等等)path
-可选的:希望保留按播放存储数据文件的本地路径。您需要记住此位置,因为如果要删除这些文件,您必须稍后再来。如果未指定,将使用当前工作目录
第二步。创建数据指针
bbsim setup --xml years path
years
-必需:您希望bbdata.xml
指向的指定mlb季节。可以是单个年份(2016
)、年份范围(2014-2016
)或两者的逗号分隔组合(2012-2014,2016
或2012-2014,2015-2017
等)path
-可选:要在其中创建指针文件的本地路径。这是稍后运行模拟的目录,因此请再次记住此位置。如果未指定,将使用当前工作目录。如果要保持简单,请指定与上一个命令中相同的路径
第三步。运行测试
如果当前路径不包含bbdata.xml
文件,请导航到该路径。运行以下命令,它将在bbdata.xml
指定的所有季节模拟游戏,而不记录任何数据。
bbsim test game
模拟器使用
本项目目前支持以下模拟
游戏得分
gamescore
命令生成按mlb游戏分组的数据。列包括:
ascore,hscore,aout,hout
bbsim gamescore [-v][-y YEARS]
生成聚合统计信息
batting
、fielding
、pitching
和rbi
命令生成聚合的统计信息。默认情况下,模拟器将按季节对输出的数据进行分组。以下可选标志将更改数据的分组方式。
-l
:按联盟(al和nl)。-t
:按团队-g
:按游戏-p
:按玩家(8个字符的playerid)-ph
:玩家手(击球手或投手)-phm
:通过玩家手配对
batting
命令
batting
命令生成攻击性统计信息。列包括:
O,E,S,D,T,HR,BB,IBB,HBP,K,I,SH,SF,GDP,R,RBI,SB,CS,PO
batting
命令有一个附加的可选标志:-np
或--nopitcher
。如果包含此选项,模拟器将在聚合结果时忽略投手。
bbsim batting [-l | -t | -g | -p | -ph | -phm][-v][-np][-y YEARS]
fielding
命令
fielding
命令生成防御聚合状态。列包括:
UR,TUR,P,A,E,PB
bbsim fielding [-l | -t | -g | -p][-v][-y YEARS]
pitching
命令
pitching
命令生成聚合的俯仰状态。列包括:
W,L,SV,IP,BF,R,ER,S,D,T,HR,BB,HBP,IBB,K,BK,WP,PO,GDP
bbsim pitching [-l | -t | -g | -p | -ph | -phm][-v][-y YEARS]
rbi
命令
rbi
命令生成有关记入rbi的每个事件的详细信息
RBI,O,E,S,D,T,HR,BB,IBB,HBP,K,I,SF,SH,GDP
bbsim rbi [-l | -t | -g | -p | -ph | -phm][-v][-y YEARS]
生成外观统计信息
appearance
命令
bbsim appearance [normal | lahman | position | simple][-v][-y YEARS]
-v
-可选:-y YEARS
生成高级统计信息
-v
-可选:-y YEARS
当前支持两个子命令:
- woba:模拟用于计算权重的季节性线性权重
bbsim advcalc (woba | war)[-v][-y YEARS]