python - 在Python中从数组中删除特定元素

标签 python numpy

我想删除与数组 inv_r 的某些索引相对应的特定元素。例如,我想删除与索引 (0,2),(1,0),(1,1) 对应的元素并获得由 T 定义的扁平版本>。附上所需的输出。

import numpy as np

inv_r=(1e4)*np.array([[0.60800941, 0.79907128, 0.99442121],
       [0.61174008, 0.84891968, 0.71449188],
       [0.6211801 , 0.88869614, 0.91835812]])

T=inv_r.flatten()
print([T])

所需的输出是

[array([6080.0941, 7990.7128, 7144.9188,
       6211.801 , 8886.9614, 9183.5812])]

最佳答案

您可以使用numpy.ravel_multi_index将 2D 索引转换为扁平索引,然后从 T删除它们:

idx = [(0,2),(1,0),(1,1)]

drop = np.ravel_multi_index(np.array(idx).T, dims=inv_r.shape)
# array([2, 3, 4])

T = np.delete(inv_r.flatten(), drop)

输出:

array([6080.0941, 7990.7128, 7144.9188, 6211.801 , 8886.9614, 9183.5812])

关于python - 在Python中从数组中删除特定元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72618447/

相关文章:

python - 为什么在一个脚本中两次调用 ElementTree.parse 函数会出现异常?

python - 使用 Numpy 进行线性回归

python - 根据他们的标签进行子集

arrays - 按函数对(对称)numpy 二维数组进行排序。 (规范)

python - 使用索引对数组进行排序会导致数组索引过多

python - appengine 数据存储多个 "puts"事务性能

Python,从字符串中删除所有非字母字符

python - while i 和 j/while j 和 i 在 python 中的区别

python - Salesforce REST API 注销

python-3.x - Python : Running nested loop, 2D 移动窗口,并行