LINUX.ORG.RU

Как совместить masked_array и record array?

 maskedarray, , , recarray


0

1

Есть netcdf файл с данными на разных сетках. Небходимо считывать данные и хранить в удобной структуре, чтобы было можно обращаться по имени переменной. Казалось бы, numpy.recarray как раз для этого удобен. Но есть косяк с маской (в данных есть пропуски):

rec=[('precip', 'f4', (1,100,200)),
        ('temp', 'f4', (20,100,200))]

a=ma.zeros((1,), dtype=dtype(rec))

a.fill_value.dtype
dtype([('precip', '<f4', (1, 100, 200)), ('temp', '<f4', (20, 100, 200))])

Короче, он хранит 100*200+20*100*200 значений для пропусков в данных (fill_value), а это неприемлемо. Должно быть всего одно значение, или в редких случаях для каждой переменной своё. Как победить?

★★☆
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.