如果我有一个像
foo = dtype([('chrom1', '<f4', (100,)), ('chrom2', '<f4', (13,))])
如何创建该 dtype 的实例,作为标量。
背景,以防万一有更好的方法:
我想有效地表示直接映射到基因组中碱基的标量数组,逐个染色体。我不想要这些基因组数组的数组,每个只是一组结构化的标量,我想按名称/位置引用,并且能够添加/减去/等。
似乎 dtype.type() 可能是前进的道路,但我还没有找到正确调用此函数的有用文档。
所以假设我有:
chrom1_array = numpy.arange(100)
chrom2_array = numpy.arange(13)
genomic_array = foo.type([chrom1_array, chrom2_array])
最后一行是不对的,但希望它传达了我目前正在尝试的内容。
这是一个可怕的想法吗?如果是这样,正确的想法是什么?如果没有,实现它的正确方法是什么?
这种工作,但很糟糕:
bar = np.zeros(1, dtype=[('chrom1', 'f4', 100), ('chrom2', 'f4', 13)])[0]