如何解决NumPy:从3维数组中删除元素
我有一个二维数组,每个元素都是有效值列表 (伪语法):
[ [1,2] [1,2]
[1,2] ]
实际上,它是一个3维数组/列表/矩阵(无论Python叫什么)。
它是由
生成的 import numpy as np
grid = np.full((borderSize,borderSize,borderSize),range(1,borderSize + 1))
从“最深”级别上的数组中删除值的最佳实践是什么?
Pseudocode:
grid = [ [1,2] ]
grid[0,1].remove(not index but value 2)
#result: grid = [ [1,2] [1]
[1,2] ]
我确实尝试了所有可以通过Google搜索的解决方案,包括numpy.delete()和array.remove(),无论其语法是什么:arr = arr[ (arr >= 6) & (arr <= 10) ]
。所有方法似乎都“弄平”了阵列/列表/矩阵,或者抛出了隐秘的我的错误(“无法将阵列广播成形状”)
谢谢!
解决方法
数组实际上没有“最深”级别,它们具有维,每个维都必须全局定义。您可以将数组更改为列表,然后删除类似的元素:
grid = np.array([ [1,2],[1,2] ])
grid = grid.tolist()
del grid[1][1]
grid
结果:
[[1,[1],2]]
但是您不能在数组上执行此操作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。