gpt4 book ai didi

python - 在python中用numpy识别一列中具有相同值的向量

转载 作者:太空宇宙 更新时间:2023-11-03 13:16:02 24 4
gpt4 key购买 nike

我有一个很大的二维向量数组。我想根据其中一个向量的元素或维度将这个数组拆分成几个数组。如果此列中的值连续相同,我希望收到一个这样的小数组。例如考虑第三个维度或列:

orig = np.array([[1, 2, 3], 
[3, 4, 3],
[5, 6, 4],
[7, 8, 4],
[9, 0, 4],
[8, 7, 3],
[6, 5, 3]])

我想变成由第 1,2 行和第 3,4,5 行和第 6,7 行组成的三个数组:

>>> a
array([[1, 2, 3],
[3, 4, 3]])

>>> b
array([[5, 6, 4],
[7, 8, 4],
[9, 0, 4]])

>>> c
array([[8, 7, 3],
[6, 5, 3]])

我是 python 和 numpy 的新手。任何帮助将不胜感激。

问候垫子

编辑:我重新格式化数组以澄清问题

最佳答案

使用 np.split :

>>> a, b, c = np.split(orig, np.where(orig[:-1, 2] != orig[1:, 2])[0]+1)

>>> a
array([[1, 2, 3],
[1, 2, 3]])
>>> b
array([[1, 2, 4],
[1, 2, 4],
[1, 2, 4]])
>>> c
array([[1, 2, 3],
[1, 2, 3]])

关于python - 在python中用numpy识别一列中具有相同值的向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30189484/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com