纯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 virtualenv
pip 安装程序会自动安装严格依赖项;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 |