首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PyTables数组上的argsort

PyTables数组上的argsort
EN

Stack Overflow用户
提问于 2015-08-31 13:28:26
回答 1查看 160关注 0票数 0

我对NumPy的辩论有意见。它创建一个内存中输入数组长度的int64数组.因为我使用的是非常大的数组,这会破坏内存。

我用一个小的PyTables‘carray测试了NumPy的argsort,并给出了正确的输出。现在,我想要的是排序算法直接处理PyTables的数组。是否有一种方法可以通过标准NumPy调用或对NumPy内部进行简单的黑客攻击来做到这一点?

我也对非NumPy的选择开放-我只想把工作做完!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-31 15:36:32

由于您正在使用Pytable,我建议您使用内置了排序的Table类。

代码语言:javascript
运行
复制
%pylab

import tables
#create description of your table
class Table_Description(tables.IsDescription):
    column_name = tables.Int64Col()   

#create hdf5 file and table
f=tables.open_file('test.h5',mode="w")
a=f.create_table("/","my_table",description=Table_Description)

# fill table
a.append(array([randint(0,99999) for i in xrange(10000)]))

#Create a full index (on disk if you use the tmp_dir parameter
a.cols.column_name.create_index(9,kind='full',tmp_dir="/tmp/")

#write changes to disc
a.flush()

#read indices that will sort the table
ind=f.root.my_table.cols.column_name.index
ind.read_indices()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32312446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档