Dra*_*ght 5 python opencv numpy numpy-ndarray
给定以下 numpy 数组:
arr = np.array([
[1,2,3],
[4,5,6],
[7,8,9]
])
Run Code Online (Sandbox Code Playgroud)
删除并返回:
arr = np.array([
[1,2,3],
[4,6],
[7,8,9]
])
Run Code Online (Sandbox Code Playgroud)
我想从这个数组中删除 5。或仅删除 arr[1][2]。当我使用 del arr[i][j]它时会抛出以下错误。 ValueError: cannot delete array elements对我来说,这种情况下的 numpy 文档不清楚。
同样如何将元素添加到同一数组中的某些行?
具体来说,当我使用 opencv 读取图像时,我遇到了这个错误。
rgb_image = cv2.imread("image.png")
del 操作给了我最大的错误,我无法做到 np.delete(...)
numpy 数组 ( ndarray) 是引用:
ndarray 是相同类型和大小的项目的(通常是固定大小的)多维容器。
因此,如果您想使用,则不能有不同长度的行ndarray数据结构(及其所有优化),则不能具有不同长度的行。
一个可能的解决方法是使用一个列表数组
>>> arr=np.array([
[1,2,3],
[4,5,6],
[7,8,9],
[]
])
Run Code Online (Sandbox Code Playgroud)
(注意空行是为了转义 ndarray 数据类型)
这样您就可以从列表之一中删除一个元素
>>> arr
array([list([1, 2, 3]), list([4, 5, 6]), list([7, 8, 9]), list([])],
dtype=object)
>>> arr[1]=np.delete(arr[1], [1], axis=0)
>>> arr
array([list([1, 2, 3]), array([4, 6]), list([7, 8, 9]), list([])],
dtype=object)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6758 次 |
| 最近记录: |