2
我有一個包含300列以上pytables的數據集,我希望能夠輕鬆地選擇不同的子集。這似乎沒有一個非常優雅的解決方案,或者有什麼我失蹤?什麼是使用pytables選擇列的一個子集的最優雅的方式?
我也很高興用一種方法來創建另一個表,它只是簡單地從原始表中選擇列,這樣我就可以擁有我的主表,然後是我的子集teables。有沒有辦法做到這一點?
我有一個包含300列以上pytables的數據集,我希望能夠輕鬆地選擇不同的子集。這似乎沒有一個非常優雅的解決方案,或者有什麼我失蹤?什麼是使用pytables選擇列的一個子集的最優雅的方式?
我也很高興用一種方法來創建另一個表,它只是簡單地從原始表中選擇列,這樣我就可以擁有我的主表,然後是我的子集teables。有沒有辦法做到這一點?
會這樣的工作?
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]))
呀,這似乎是它的工作!謝謝。我沒有真正看過使用h5py模塊來讀取文件而不是pytables。和itemgetter ...非常酷。 – user447736 2011-05-18 02:54:46