此包包含对numpy nd数组的索引操作功能,提供高效的向量化功能,例如分组和集合操作。
项目描述
Numpy索引操作
此包包含对numpy nd数组的索引操作功能,提供高效的向量化功能,例如分组和集合操作。
丰富高效的分组功能
根据键分组拆分值
根据键分组归约值
将现有的数组集合操作推广到nd-arrays,例如
unique(唯一)
union(并集)
difference(差集)
exclusive(xor)
contains / in(in1d)
一些新函数
indices:numpy的list.index等价物
count:numpy的collections.Counter等价物
mode:在集合中找到最频繁出现的项
multiplicity:序列中每个键的出现次数
count_table:类似于R的table或pandas crosstab,或者np.bincount的ndim版本
这里提供一些简要示例以给出印象
# three sets of graph edges (doublet of ints)
edges = np.random.randint(0, 9, (3, 100, 2))
# find graph edges exclusive to one of three sets
ex = exclusive(*edges)
print(ex)
# which edges are exclusive to the first set?
print(contains(edges[0], ex))
# where are the exclusive edges relative to the totality of them?
print(indices(union(*edges), ex))
# group and reduce values by identical keys
values = np.random.rand(100, 20)
# and so on...
print(group_by(edges[0]).median(values))
安装
> conda install numpy-indexed -c conda-forge
或
> pip install numpy-indexed
设计决策
该软件包基于对numpy.unique中设计模式的泛化。也就是说,通过argsort一个ndarray,可以高效并以向量化的方式实现许多后续操作。
排序和相关底层操作被封装到索引类层次结构中,这使得可以高效地查找各种不同键类型的多个属性。该软件包的公共API是围绕这些索引对象的一个相当薄的包装。
目前支持的两个复杂键类型,除了可排序的原始类型的标准序列之外,还包括ndarray键(即查找数组的唯一行/列)和复合键(压缩序列)。有关描述有效键对象序列到索引对象的精确铸造规则的详细信息,请参阅as_index()。
待办事项和开放性问题
在这些抽象之上可能还有进一步的泛化可以构建。可能是合并/连接功能?
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定要选择哪一个,请了解更多关于安装包的信息。
源代码发行版
此版本没有可用的源代码发行版文件。有关生成发行版存档的教程,请参阅生成发行版存档。
构建发行版
numpy_indexed-0.3.7-py2.py3-none-any.whl (19.7 kB 查看散列)