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时,它将安装一个 从中模拟cweventexe的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_IDBAT_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()

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

推荐PyPI第三方库


热门话题
java将Map<String,String>传递给需要Map<String,Object>   java在循环中使用字符串而不是StringBuilder是否会造成内存损失?   jnlp如何更新java控制台JRE?   java更改、修改和重新打包CXFAPI源文件   JavaFXJava应用程序在Fedora上运行一段时间后关闭   使用来自不同类的方法的java   java如何通过ant脚本在linux中使用subst?   java在使用camunda modeler进行base64编码/解码时出错   获取java。netbeans、weblogic和fastswap设置为true时的lang.NoSuchMethodError   java如何提高FinalizerThread在GC中收集对象的优先级   java检测具有相同根的单词   netbeans crud应用程序中的java错误