作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将大量数据作为惰性数组读取,执行以下操作:
import uproot
import numpy as np
file_path = "~/data.root"
data = uproot.lazyarrays(file_path, "E")
hits = data['hits']
>>> <ChunkedArray [176 125 318 ... 76 85 51] at 0x7fb8612a8390>
np.array(hits)
>>> array([176, 125, 318, ..., 76, 85, 51], dtype=int32)
data['hits.dom_id']
>>> ValueError: value too large
data2 = uproot.open(file_path)['E']['Evt']['hits']
data2['hits.dom_id'].array()
>>> <JaggedArray [[806451572 806451572 806451572 ... 809544061 809544061 809544061] [806451572 806451572 806451572 ... 809524432 809526097 809544061] [806451572 806451572 806451572 ... 809544061 809544061 809544061] ... [806451572 806451572 806451572 ... 809006037 809524432 809544061] [806451572 806451572 806451572 ... 809503416 809503416 809544058] [806451572 806465101 806465101 ... 809544058 809544058 809544061]] at 0x7fb886cbbbd0>
最佳答案
ValueError: value too large
是 cachetools
的错误信息当它无法将一个数组放入缓存时发出。人们经常遇到这个问题,我想我需要捕获它并用更多信息重新发送它,或者甚至扩大缓存以使其适合。 (这是一个糟糕的主意吗?我需要为缓存找到一个好的默认策略。)
查看最近的 GitHub 问题——惰性数组确实有一个隐含的 basketcache
(这与 cache
不同)。您可能需要提供明确的 basketcache
如果您的任何篮子大于 1 MB(默认限制)。
关于uproot - 如何将大量数据读取为lazyarrays,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58924485/
我是一名优秀的程序员,十分优秀!