纯Python和Numpy的ROOT I/O。
项目描述
uproot(最初为μproot,意为“微Python ROOT”)是使用Python和Numpy读取和写入ROOT文件格式的读取器和写入器。与标准的C++ ROOT实现不同,uproot仅是一个I/O库,主要目的是将数据流式传输到Python中的机器学习库。与PyROOT和root_numpy不同,uproot不依赖于C++ ROOT。相反,它使用Numpy将数据块(篮子)从ROOT文件转换为Numpy数组。
Python并不一定意味着慢。只要数据块(篮子)很大,这种“一次一个数组”的方法甚至可能比“一次一个事件”的C++更快。下面显示,只要篮子大小为数十千字节或更大,使用uproot将数据读入数组的速度就比C++ ROOT(左侧)和root_numpy(右侧)快(对于不同物理样本集合中每个事件中变数数量的μ子;数值越高越好)。
uproot 不由 ROOT 项目团队维护,因此请在此处提交错误报告,而不是在 ROOT 论坛上,请通过 GitHub 问题 提交。谢谢!
安装
像安装其他 Python 包一样安装 uproot
pip install uproot3                      # maybe with sudo or --user, or in virtualenvpip 安装程序会自动安装严格依赖项;conda 安装程序也会安装可选依赖项(除了 Pandas)。
严格依赖项
- numpy (1.13.1+) 
可选依赖项
- lz4 读取/写入 lz4 压缩的 ROOT 文件 
- xxhash 读取/写入 lz4 压缩的 ROOT 文件 
- lzma 在 Python 2 中读取/写入 lzma 压缩的 ROOT 文件 
- xrootd 通过 XRootD 访问远程文件 
- requests 通过 HTTP 访问远程文件 
- pandas 用 Pandas DataFrame 替代 Numpy 数组 
提示:运行 uproot 不需要 C++ ROOT。
教程
在 Binder 上运行 该教程。
教程内容
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源分发
构建分布版
uproot3-3.14.4.tar.gz 的哈希
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 4396746ba5ef9071bb0a9da53294e4613a7f4548218940f86496e79d682d20eb | |
| MD5 | 54f6b475057afa14ee23f6b08d203824 | |
| BLAKE2b-256 | da305cf878119f360f831a5c2ba34b6abba52783c2aa75bb215af270a3fe3ab8 | 
uproot3-3.14.4-py3-none-any.whl 的哈希
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | d0b513aed4af17278d582a4879eff7037efe0752c7e2154683ac4c4f083c30c0 | |
| MD5 | 1dd639219ba87a9f08c912d3c640114a | |
| BLAKE2b-256 | 9c69d893c6eba0dd0d8f82d841d4b85b6e63c52a1b472aec7cf7ae0efedf5a92 |