跳转到主要内容

此包包含对numpy nd数组的索引操作功能,提供高效的向量化功能,例如分组和集合操作。

项目描述

Travis PyPI Anaconda

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

参阅: https://pypi.python.org/pypi/numpy-indexed

设计决策

该软件包基于对numpy.unique中设计模式的泛化。也就是说,通过argsort一个ndarray,可以高效并以向量化的方式实现许多后续操作。

排序和相关底层操作被封装到索引类层次结构中,这使得可以高效地查找各种不同键类型的多个属性。该软件包的公共API是围绕这些索引对象的一个相当薄的包装。

目前支持的两个复杂键类型,除了可排序的原始类型的标准序列之外,还包括ndarray键(即查找数组的唯一行/列)和复合键(压缩序列)。有关描述有效键对象序列到索引对象的精确铸造规则的详细信息,请参阅as_index()。

待办事项和开放性问题

  • 在这些抽象之上可能还有进一步的泛化可以构建。可能是合并/连接功能?

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定要选择哪一个,请了解更多关于安装包的信息。

源代码发行版

此版本没有可用的源代码发行版文件。有关生成发行版存档的教程,请参阅生成发行版存档

构建发行版

numpy_indexed-0.3.7-py2.py3-none-any.whl (19.7 kB 查看散列)

上传时间 Python 2 Python 3

由以下机构支持

AWSAWS 云计算和安全赞助商 DatadogDatadog 监控 FastlyFastly CDN GoogleGoogle 下载分析 MicrosoftMicrosoft PSF 赞助商 PingdomPingdom 监控 SentrySentry 错误记录 StatusPageStatusPage 状态页面