使用 pytables 选择列子集的最优雅的方法是什么?

发布于 2024-11-07 21:21:34 字数 153 浏览 0 评论 0原文

我的 pytables 中有一个包含 300 多列的数据集,我希望能够轻松选择不同的子集。似乎没有一个非常优雅的解决方案,或者我缺少什么?

我也很高兴有一种方法来创建另一个表,该表只是对原始表中的选择列进行别名,这样我就可以拥有我的主表,然后是我的子集表。有办法做到这一点吗?

I have a dataset with 300+ columns in pytables, and I want to be able to choose different subsets easily. There doesn't seem to be a very elegant solution to this, or is there something I'm missing?

I would also be happy with a way to create another table that is simply aliasing select columns from the original table, so that I could have my main table and then my subset teables. Is there a way to do that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

亽野灬性zι浪 2024-11-14 21:21:34

像这样的东西会起作用吗?

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]))

Would something like this work?

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)

gives,

(array([1, 5, 9, 3, 2]), array([4, 1, 8, 2, 6]))
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文