python - 根据来自另一个数组的值对来自一个 numpy 数组的值进行分组
问题描述
我已经查看了 SO,看看我是否可以找到我的查询的答案,但我认为我此时对 numpy 的了解太低,无法知道我是否找到了它!
给定两个相同形状的数组,我想根据组 A 中的共享值对数组 B 中的值进行分组。
例如
arraya = [1,1,1,1,2,2,2,2,3,3,3,3]
arrayb = [45,56,75,34,657,67,88,32,56,3,45,8]
我基本上想要这三个数组 - 1、2 和 3 基于来自 arraya 的唯一值 - 然后它们将包含相同位置的值。
array1 = [45,56,75,34]
array2 = [657,67,88,32]
array3 = [56,3,45,8]
任何指针都会很棒!谢谢 SO 社区。
解决方案
IIUC,你可以试试:
np.split(arrayb, np.unique(arraya, return_index=True)[1][1:])
输出:
[array([45, 56, 75, 34]), array([657, 67, 88, 32]), array([56, 3, 45, 8])]
推荐阅读
- mysql - MySQL data to time value
- docker - How do I copy dir instead of dir contents in Dockerfile?
- debugging - 如何在闪亮的浏览器模式下调试ggplot?
- php - 使用 HTML 和 MYSQL PHP 的 CRUD 操作
- node.js - 如何将 API 数据从客户端发送到服务器端 [Nodejs]
- c# - 状态码不成功时无法读取 HttpResponseMessage 内容
- go - 迭代时替换通道
- javascript - 在 jQuery AJAX 中显示字体很棒
- .net-core - .NET Core 在代理上发布任务缓慢
- html - Youtube 视频没有在 html 网站上播放