unnest - Nextflow“扁平化”类似于 dplyr 中的“unnest”
问题描述
Nextflow,暂时不使用 DSL2。
data = [
[1, 'a', ['a1', 'a2']],
[2, 'b', ['b1', 'b2', 'b3']],
[3, 'c', ['c1']]
]
ch = Channel.from(data)
有什么办法可以从这个通道到一个总共有 6 行的通道,内容
[
[1, 'a', 'a1'],
[1, 'a', 'a2'],
[2, 'b', 'b1'],
[2, 'b', 'b2'],
[2, 'b', 'b3'],
[3, 'c', 'c1']
]
基本上,取消嵌套通道中每个元组的第三项。我想它可以通过首先重复嵌套列表的长度的非嵌套项目然后展平结果来工作,但我不知道我会怎么做。
解决方案
您可以为此使用转置运算符:
data = [
[1, 'a', ['a1', 'a2']],
[2, 'b', ['b1', 'b2', 'b3']],
[3, 'c', ['c1']]
]
Channel.from(data).transpose().view()
结果:
[1, a, a1]
[1, a, a2]
[2, b, b1]
[2, b, b2]
[2, b, b3]
[3, c, c1]
推荐阅读
- c# - C# 方法使用“新”的多个约束
- python - 如何计算通过 poly_fit numpy、pandas 调整的 R2 和 R2
- python - Jupyter 笔记本异常
- reactjs - 从 react-beautiful-dnd 水平列表中删除单个项目
- r - R ggplot 如何显示两个变量的概率
- python - ImportError:没有名为 utils_datagen 的模块
- typescript - 将类型分配给也被重命名的解构变量
- c# - 在 PageSetupDialog 中设置默认纸张大小
- javascript - 没有为我的输入元素调用 Keyup 处理程序
- python - Python 相对导入“高于顶层”