对具有相同第一列值的 2D numpy 数组元素进行分组

2023-12-30

我有一个像这样的 2D numpy 数组

[[ 569  897]
 [ 570  898]
 [ 570  900]
 [ 571  901]
 [ 571  905]
 [ 572  906]]

我想要要分组的第一列中具有相等值的元素按照以下方式一起。

[[  569  897]
 [[ 570  898]
  [ 570  900]]
 [[ 571  901]
  [ 571  905]]
 [  572  906] ]

我应该怎样做呢?


您可以使用np.unique得到分离索引,然后使用np.split实际上分裂-

np.split(a, np.unique(a[:,0], return_index=1)[1][1:],axis=0)

或者,通过切片和使用np.flatnonzero -

np.split(a, np.flatnonzero(a[1:,0] != a[:-1,0])+1,axis=0)

样本运行 -

In [63]: a
Out[63]: 
array([[569, 897],
       [570, 898],
       [570, 900],
       [571, 901],
       [571, 905],
       [572, 906]])

In [64]: out = np.split(a, np.flatnonzero(a[1:,0] != a[:-1,0])+1,axis=0)

In [65]: out[0]
Out[65]: array([[569, 897]])

In [66]: out[1]
Out[66]: 
array([[570, 898],
       [570, 900]])

In [67]: out[2]
Out[67]: 
array([[571, 901],
       [571, 905]])

In [68]: out[3]
Out[68]: array([[572, 906]])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对具有相同第一列值的 2D numpy 数组元素进行分组 的相关文章

随机推荐

  • 如何在android中使用sqlite连接表

    我试图找出如何在 Android 应用程序中使用 sqlite 数据库在我的两个表上进行简单的表连接 使用 CursorJoiner 是最简单的方法还是有更简单的方法 在实施中SQLite数据库 http android git kerne
  • Angular CLI 6 未知选项:“--singleRun”

    当我想执行测试时 我可以选择 single run已激活 但升级到 Angular 6 后不再被识别 gt ng test source map false single run no progress browsers ChromeNoS
  • PHP 无法通过 COM 打开 Excel 工作簿

    该代码工作正常 直到到达打开的工作簿行 然后失败
  • 如何创建扩展方法 (F#)? [复制]

    这个问题在这里已经有答案了 如何在 F 中创建扩展方法 例如 如下 C 扩展 public static string Right this string host int index return host Substring host
  • 将 HTML 分成页面,分割长段落

    好吧 我什至不确定这是否可以用我当前的方法来完成 我正在尝试将 HTML 文档的内容放入当前视口大小的页面中 我目前正在通过迭代文档的所有元素并检查它们的顶部偏移量是否在当前页面的边界内来执行此操作 只要不在当前页面的边界内 此偏移量就会成
  • Typescript:是否有一种简单的方法将一种类型的对象数组转换为另一种类型

    所以 我有两节课 Item name string desc string meta string ViewItem name string desc string hidden boolean 我有一个 Item 数组需要转换为 View
  • 实体方面(春季)

    我在定义我的方面时遇到了一些问题 我有一堆实体 我想在其中分析 get methods 所以我编写了以下切入点和方法 Pointcut execution tld myproject data entities get public voi
  • 在运行时创建/修改枚举

    我正在创建一个程序 用户可以选择创建自己的自定义属性 这些属性最终将显示在PropertyGrid 现在我不想搞乱自定义编辑器 所以我只允许原始类型属性 string int double DateTime bool等 PropertyGr
  • 无闪烁文本框

    我的表单上有一个简单的 Winforms 多行文本框 每当我调整文本框的大小或移动文本框时 它的内容就会开始疯狂地闪烁 这看起来非常恶心 甚至可能导致某些用户癫痫发作 有没有办法操纵文本框的重绘过程来消除闪烁 我找到了一个工作解决方案 ht
  • 连接到 SQL Server 2008 的最大并发用户数

    连接到 SQL Server 2008 的最大并发用户数是否有限制 我猜测计算机资源决定了该限制 如果存在 但我也想知道是否存在理论上的限制 我尝试用谷歌搜索答案 但我找到的所有信息都是基于 SQL Server 的早期版本 如果有限制 它
  • 如何在 ASP.NET Core 中重写 HandleUnauthorizedRequest

    我正在将项目迁移到 asp net core 但我一直在迁移控制器的自定义授权属性 这是我的代码 public class CustomAuthorization AuthorizeAttribute public string Url g
  • 采用 {ID}-{Slug} 格式的 ASP.NET MVC 路由约束

    我有一条如下所示的路线 理想情况下我希望它匹配 domain com layout 1 slug is the name of the page routes MapRoute Layout Route name layout id slu
  • C# 7.0 中的泛型函数和 ref 返回

    是否可以使用 C 7 0 中的 ref returns 功能定义一个通用函数 该函数可以对对象的两个实例中的字段进行比较和更新 我正在想象这样的事情 void UpdateIfChanged
  • avconv:根据图像的子集制作视频

    我正在尝试使用 avconv 将一堆 png 制作成视频 png 的编号如下filename
  • 如何检测难以捉摸的 64 位可移植性问题?

    我在我为 64 位端口准备的一些 C 代码中发现了与此类似的片段 int n size t pos npos initialization while pos find ch start npos advance start positio
  • KineticJS:右键单击触发单击

    我正在使用 Kineticjs 并且定义了一个像这样的矩形事件 this rect on click tap function foo 当我左键单击时会触发该事件 右键单击时也会触发该事件 如何避免右键单击触发此事件 我无法禁用页面中的右键
  • 如何获取本机 Oracle 函数(例如 NVL、ABS 等)的列表

    我尝试使用下面的命令 但没有按我的预期工作 select OBJECT NAME OWNER from SYS ALL OBJECTS where upper OBJECT TYPE upper FUNCTION order by OWNE
  • CSS 过滤器背后的数学原理是什么? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 假设这些是我应用于图像的滤镜 我想知道这些过滤器背后的数学原理 filter contrast 1 3 brightness 0 8
  • 使用 Jsonata 匹配名称包含空格或特殊字符的 json 字段

    假设我有一些 JSON 例如 normal 1 has some spaces 2 3 我可以获得的值normal带有简单查询的字段 normal 但是我无法获取其他两个字段 我努力了 has some spaces has some sp
  • 对具有相同第一列值的 2D numpy 数组元素进行分组

    我有一个像这样的 2D numpy 数组 569 897 570 898 570 900 571 901 571 905 572 906 我想要要分组的第一列中具有相等值的元素按照以下方式一起 569 897 570 898 570 900