如何在尴尬的数组中复制锯齿状的数组

时间:2020-02-24 17:23:49

标签: awkward-array

在awkward0中,我想分别保存表格的各种选择

以伪代码

X = awkward.Table(...)

one_jet = X[X.n_jet == 1]
two_jet = X[X.n_jet == 1]

awkward.save(one_jet)
awkward.save(two_jet)

但是我注意到任何索引的锯齿状数组的内容都没有改变(仅对开始停止点进行了稀疏化),因此天真地保存开始,这样停止会导致磁盘上的数据重复。有没有办法“重新包装”锯齿状的阵列,使它们再次变得密集?

1 个答案:

答案 0 :(得分:0)

我最近也遇到了这个问题。我发现最干净的解决方案是从被遮罩的数组构造一个新的尴尬数组,然后保存新数组。

X = awkward.Table(...)

one_jet = awkward.fromiter(X[X.n_jet == 1])
two_jet = awkward.fromiter(X[X.n_jet == 2]) # I assume you meant 2 here?

awkward.save(one_jet)
awkward.save(two_jet)
相关问题