问题标签 [awkward-array]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
67 浏览

python - 将不同大小数组的数组转换为 numpy 数组

我正在使用一个根文件(数组数组)。当我将数组加载到 python 中时,我得到了一个尴尬的数组,因为这是一个不同大小的数组。我想学习如何通过用 NaN 填充空元素来将其转换为相同大小的数组的 numpy 数组。如何将不同大小的尴尬数组转换为 numpy 数组?

0 投票
1 回答
28 浏览

vector - 计算射流的不变质量时,uproot4/vector 中的 TLorentz 矢量特征

我希望总结喷气机中所有成分的 4 动量。在 uproot3 (+ uproot3-methods) 中,有创建一个 TLorentzVectorArray 并只是做 .sum() 的功能

所以这很好用:

然而,由于 uproot3 已被弃用,根据Uproot 4 中的 TLorentz 矢量的方式似乎是矢量包。我尝试的是以下内容。

p4.sum()现在的问题是那里似乎不存在此功能。我发现的另一种可能性显示在向量讨论 #117中。所以,现在我在导入之后添加vector.register_awkward()到最后jet_p4_u4 = ak.Array(p4, with_name="Momentum4D")

问题仍然存在,我如何总结 4 动量?在执行 ak.sum(jet_p4_u4, axis=-1) 时,只有 pt 和 energy 似乎具有正确的值,但 eta 和 phi 与 uproot3 的结果完全不同。

更新:似乎由于 ```ak.sum`` 函数无法以所需的方式将角度相加,因此用求和 x、y、z 和能量替换求和部分并像这样构造向量解决了问题。但是,我相信一定有比这更好的方法。所以当前的工作版本: