如何使用numpy python计算元素向量的数量

2023-12-07

例如,如果我有:

a=np.array([[1,1,4,1,4,3,1]])

我们可以看到,数字 1 出现了四次,数字 4 出现了两次,只有 3 次。

我想要得到以下结果:

array(4,4,2,4,2,1,4)

正如您所看到的:每个单元格都被其元素的计数替换。

我怎样才能以最有效的方式做到这一点?


One vectorized接近与np.unique and np.searchsorted -

# Get unique elements and their counts
unq,counts = np.unique(a,return_counts=True)

# Get the positions of unique elements in a. 
# Use those positions to index into counts array for final output.
out = counts[np.searchsorted(unq,a.ravel())]

样本运行 -

In [86]: a
Out[86]: array([[1, 1, 4, 1, 4, 3, 1]])

In [87]: out
Out[87]: array([4, 4, 2, 4, 2, 1, 4])

根据@Jaime 的评论,您可以使用np.unique像这样独自一人——

_, inv_idx, counts = np.unique(a, return_inverse=True, return_counts=True)
out = counts[inv_idx]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用numpy python计算元素向量的数量 的相关文章

随机推荐

  • 简化为派系问题

    子图同构 我们有图 G 1 V 1 E 1 G 2 V 2 E 2 Question 图 G 1 与 G 2 的子图同构吗 即 是否存在 G 2 V V 2 的顶点子集和 G 2 E E 2 边的子集 使得 V V 1 和 E E 1 并且
  • 是否保证新实体的数字自增ID始终大于现有ID?

    是否保证新实体的自动递增ID始终大于现有ID 基本上 我想定期将后台任务中的实体 例如评论 转储到客户创建的大块中 因此 如果现在有 100 个实体 我会将它们存储在 blob 中 并为该 blob 创建辅助实体 例如 class Blob
  • Google Apps 脚本:使用电子表格范围作为参数从菜单调用函数[重复]

    这个问题在这里已经有答案了 我有一个函数 它接受电子表格范围作为参数 然后在给定范围的同一行中添加日期 function autoDate cell var currentDate new Date var currentMonth cur
  • Entity Framework Core 多对多导航问题

    Entity Framework Core 尚未实现多对多关系 如 GitHub 问题中所述 1368 但是 当我按照该问题中的导航示例或类似的答案在 Stack Overflow 上 我的枚举未能产生结果 我的照片和标签之间存在多对多关系
  • 无法比较 SqlBulkCopy 中的列

    这是我的代码 protected void Button1 Click object sender EventArgs e string strFileType System IO Path GetExtension FileUpload1
  • “对齐陷阱”错误意味着什么?

    我的一位朋友在尝试调试开始显示 对齐陷阱 错误的代码时遇到了一个大问题 当特定函数访问全局结构时 就会出现问题 经过在网络上的一些研究 仍然不清楚 对齐陷阱 是什么意思或是什么 有人可以给出一个解释 特别注意通常导致对齐陷阱的原因以及解决问
  • ActionEvent e 是什么意思?

    我正在学习 Java 非常想更深入地了解 ActionEvent e 参数的含义和代表的含义 当我编码时 我不只是想吐出有效的代码 但我不明白 我想在使用概念之前充分理解它们 那么它具体要求什么以及两个部分 ActionEvent 和 e
  • 使用 tidytext 和 broom 但没有找到 LDA_VEM 的 tidier

    tidytext 书中提供了主题模型 tidier 的示例 library tidyverse library tidytext library topicmodels library broom year word counts lt t
  • 扩展 Mach-O 文件中的部分

    我正在尝试从 Dyld shared cache 中提取库 并且需要修复外部引用 例如 中的指针 DATA objc selrefs部分通常指向 mach o 文件外部的数据 为了解决这个问题 我必须从 dyld 复制相应的 c 字符串并将
  • “分段错误(核心转储)”:libioP.h、printf-parse.h、vfprintf-internal.c 等的“没有此类文件或目录”

    核心转储文件中的示例错误 1289 vfprintf internal c No such file or directory 111 printf parse h No such file or directory 948 libioP
  • MVC 中公共字段与属性的数据注释

    为什么 DataAnnotations 不适用于公共字段 例子 namespace Models public class Product Display Name Name public string Title get set publ
  • React Native:如何将 require(path) 与动态 url 一起使用?

    我想使用WebView来显示一些html内容 这是一个例子 return
  • ORM / 如何处理Domain对象和Persistent对象的对应关系?

    在应用程序中 至少有两种方法来处理域对象持久性和 ORM 使用某种 ORM xml 或注释 将域对象直接映射到持久性 Making 关注点分离如果您的域和持久模型 表列 之间存在大量阻抗不匹配 这意味着 域对象与持久性无关 并且存在一些到某
  • 每次打开项目时 Xcode 都会意外退出

    打开 xcode 后 当我打开当前项目时 它会显示类似 xcode 意外退出 的警告 并有 3 个选项 忽略 报告 和 重新打开 当我单击 重新打开 时 它将打开 xcode 窗口 然后再次自动关闭并显示相同的警告 为什么会发生这种情况 如
  • 如何实现多线程并行执行多个任务?

    我是线程编程的新手 我必须在并行和后台运行一些任务 以便主 UI 执行线程保持对用户操作的响应 并等待每一项任务完成 然后再继续进一步执行 就像是 foreach MyTask t in myTasks t DoSomethinginBac
  • 操作按钮和observeEvent

    我想要一个按钮来触发对预先指定的非反应变量的操作x 每次按下按钮时x lt x 1应予执行 为了检查是否正确完成 应显示结果 为了实现这个我尝试过observeEvent 但它只做了一次它应该做的事情 它如何正常工作 看起来rv仅在以下范围
  • 将 Git 存储库发布到 SVN

    我和我的小团队使用 Git 工作 较大的团队使用 Subversion 我想安排一个 cron 作业来发布我们当前的存储库HEAD每小时进入 SVN 存储库中的某个目录 我以为我已经弄清楚了 但我之前写下的食谱现在似乎不起作用 git cl
  • NSSearchPathForDirectoriesInDomains 麻烦(掉头发快)

    我很快就秃顶了 需要帮助 我正在编写一个需要访问目录的应用程序 我希望得到一种形式的路径 用户 我 库 应用程序支持 iPhone模拟器 用户 应用程序 6958D21C C94B 4843 9EF1 70406D0CA3A3 文档 然而我
  • 如何在firebase中保存用户分数并在Android studio中实时检索

    我正在创建一个应用程序 其中单击按钮时点会增加 并且这些点应保存到 firebase 中 我设法将这些数据保存到 firebase 中 但是 当我销毁我的应用程序并再次打开它时 点值显示相同 但 在单击按钮后 又从0开始 例如 每次点击按钮
  • 如何使用numpy python计算元素向量的数量

    例如 如果我有 a np array 1 1 4 1 4 3 1 我们可以看到 数字 1 出现了四次 数字 4 出现了两次 只有 3 次 我想要得到以下结果 array 4 4 2 4 2 1 4 正如您所看到的 每个单元格都被其元素的计数