Каков наиболее элегантный способ выбора подмножества столбцов с помощью pytables? - PullRequest
2 голосов
/ 18 мая 2011

У меня есть набор данных с 300+ столбцами в pytables, и я хочу иметь возможность легко выбирать различные подмножества. Кажется, не существует очень элегантного решения, или я что-то упускаю?

Я также был бы рад создать еще одну таблицу, в которой будут просто использоваться псевдонимы столбцов выбора из исходной таблицы, чтобы я мог иметь свою основную таблицу и затем свои поднаборы. Есть ли способ сделать это?

1 Ответ

6 голосов
/ 18 мая 2011

Хотелось бы что-нибудь подобное?

from numpy import array, dtype
from h5py import File
from operator import itemgetter

# Dummy data

d = dtype([('a', int),('b', int),('c', int)])
a = array([(1, 6, 4), (5, 7, 1), (9, 7, 8), (3, 1, 2), (2, 1, 6)],dtype=d)

hdf = File('tmp.hdf','a')
hdf.create_dataset('data',data=a)
hdf.flush()

# Extract data

dat = hdf.get('data',default=0)

sub = ['a','c']
get = itemgetter(*sub)

print get(dat)

дает,

(array([1, 5, 9, 3, 2]), array([4, 1, 8, 2, 6]))
...