Python绑定到Chadwick库
pychadwick的Python项目详细描述
皮查德威克
与Chadwick
库接口的Python包。Chadwick
是一组用于分析追溯表数据的工具
可在
http://chadwick.sourceforge.net/doc/index.html
https://github.com/chadwickbureau/chadwick
特点
到目前为止,这个包只支持retrosheet事件数据。在
安装
$ pip install pychadwick
示例使用
cwevent的Python替换
当您安装pychadwick
时,它将安装一个
从中模拟cwevent
exe的Python exe
查德威克项目。它读取一组事件文件并
以csv格式打印到stdout
。在
这会下载一份更新的回顾表事件文件, 用7个CPU解析它们
^{pr2}$这使用了一个预先下载的retrosheet事件文件副本, 有7个CPU
$ time pycwevent -n 7 --data-root /tmp/retrosheet-master/event/regular/ > /tmp/events2.csv stderr: found 2254 files Warning: Invalid integer value 'b' real 1m57.499s user 9m52.236s sys 0m17.672s $ wc -l /tmp/events2.csv 13976184 /tmp/events2.csv
cwevent
的Python接口加载事件
从存储在网络上的文件加载游戏事件
>>>frompychadwick.chadwickimportChadwick>>>chadwick=Chadwick()>>>file_path="https://raw.githubusercontent.com/chadwickbureau/retrosheet/master/event/regular/1982OAK.EVA">>>games=chadwick.games(file_path)>>>game=next(games)>>>df=chadwick.game_to_dataframe(game)>>>dfGAME_IDAWAY_TEAM_IDINN_CTBAT_HOME_ID...ASS9_FLD_CDASS10_FLD_CDUNKNOWN_OUT_EXC_FLUNCERTAIN_PLAY_EXC_FL0OAK198204060CAL10...00FF1OAK198204060CAL10...00FF2OAK198204060CAL10...00FF3OAK198204060CAL11...00FF4OAK198204060CAL11...00FF.............................81OAK198204060CAL111...00FF82OAK198204060CAL111...00FF83OAK198204060CAL111...00FF84OAK198204060CAL111...00FF85OAK198204060CAL111...00FF[86rowsx159columns]
从本地文件加载游戏事件
>>>file_path=" /tmp/retrosheet-master/event/regular/1982OAK.EVA">>>games=chadwick.games(file_path)>>>game=next(games)>>>df=chadwick.game_to_dataframe(game)>>>dfGAME_IDAWAY_TEAM_IDINN_CTBAT_HOME_ID...ASS9_FLD_CDASS10_FLD_CDUNKNOWN_OUT_EXC_FLUNCERTAIN_PLAY_EXC_FL0OAK198204060CAL10...00FF1OAK198204060CAL10...00FF2OAK198204060CAL10...00FF3OAK198204060CAL11...00FF4OAK198204060CAL11...00FF.............................81OAK198204060CAL111...00FF82OAK198204060CAL111...00FF83OAK198204060CAL111...00FF84OAK198204060CAL111...00FF85OAK198204060CAL111...00FF[86rowsx159columns]
检查定义了哪些列
>>>chadwick.all_headers
检查启用了哪些列
>>>chadwick.active_headers
禁用所有列,只添加GAME_ID
和BAT_ID
>>>_=[chadwick.unset_event_field(e)foreinchadwick.all_headers]>>>chadwick.active_headers[]>>>chadwick.set_event_field("GAME_ID")>>>chadwick.set_event_field("BAT_ID")>>>games=chadwick.games(file_path)>>>game=next(games)>>>df=chadwick.game_to_dataframe(game)>>>dfGAME_IDBAT_ID0OAK198204060burlr0011OAK198204060lynnf0012OAK198204060carer0013OAK198204060hendr0014OAK198204060murpd002........81OAK198204060meyed00182OAK198204060armat00183OAK198204060grosw00184OAK198204060spenj10185OAK198204060loped001[86rowsx2columns]
再次激活所有列
>>>chadwick.set_all_headers()
- 项目
标签: