我想删除与数组 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/