Если у меня есть DTYPE какКаков синтаксис для создания структурированного dtype в numpy?
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]
Я думаю, что ближайший вы можете получить, что является «скалярным массив»: 'бар = пр. array ((chrom1_array, chrom2_array), dtype = foo) '. 'bar' - массив с формой'() '. –
Сколько из этих «genomic_array» есть? Какие математические операции вы делаете с ними? До сих пор ваше описание не является хорошим примером использования структурированных массивов. Многомерные массивы - ваш лучший выбор для эффективной математики, а класс/объекты лучше всего подходят для определения сложных объектов. – hpaulj