将一个元素附加到锯齿状数组的每一行
append an element to every row of a jagged array
我正在尝试向 jagged array 的每一行添加一个 0。
我想从
<JaggedArray [[1 2 3] [1 2]]>
至
<JaggedArray [[1 2 3 0] [1 2 0]]>
所以当我获取第 -1 个索引时,我得到 0。目前我正在将每一行填充到最大行的长度 + 1,然后用 0 填充 nans,这可行,但我想知道是否有更好的方法。
我看到有一个 class AppendableArray 具有 .append() 函数,但我不确定如何在两者之间进行转换。
我用的是笨拙的 0.12.22,数据是从 root 文件中读出的 uproot 3.11.0
也许这个答案太短了,但是
- 升级到 Awkward 1.x(您仍然可以导入
awkward0
并使用 ak.from_awkward0
和 ak.to_awkward0
在同一过程中来回)。
- 创建一个单项列表数组,也许在 NumPy (
ak.from_numpy
) 中,也许通过使用 np.newaxis
. 对一维数组进行切片
- 使用
ak.concatenate
和 axis=1
将它与您的其他数组连接起来。第一个维度需要相同(两个数组的 len
必须相等),但第二个维度不受约束。
我正在尝试向 jagged array 的每一行添加一个 0。 我想从
<JaggedArray [[1 2 3] [1 2]]>
至
<JaggedArray [[1 2 3 0] [1 2 0]]>
所以当我获取第 -1 个索引时,我得到 0。目前我正在将每一行填充到最大行的长度 + 1,然后用 0 填充 nans,这可行,但我想知道是否有更好的方法。
我看到有一个 class AppendableArray 具有 .append() 函数,但我不确定如何在两者之间进行转换。 我用的是笨拙的 0.12.22,数据是从 root 文件中读出的 uproot 3.11.0
也许这个答案太短了,但是
- 升级到 Awkward 1.x(您仍然可以导入
awkward0
并使用ak.from_awkward0
和ak.to_awkward0
在同一过程中来回)。 - 创建一个单项列表数组,也许在 NumPy (
ak.from_numpy
) 中,也许通过使用np.newaxis
. 对一维数组进行切片
- 使用
ak.concatenate
和axis=1
将它与您的其他数组连接起来。第一个维度需要相同(两个数组的len
必须相等),但第二个维度不受约束。