Для решения этой проблемы нам нужно отсортировать ваши данные.Если x - это ваш массив данных массива, сначала мы его сортируем.
import numpy as np
x = np.array([[1,8,3,4,5],[10,13,13,12,15]])
x.sort()
После сортировки только два конечных элемента каждой строки показывают максимальные значения.Таким образом, мы обнуляем нулевое значение для других элементов и сохраняем x
в f
.
for i in range(0,len(x)):
x[i][0:-2]=0
f = x
Тогда f
равно:
array([[ 0, 0, 0, 5, 8],
[ 0, 0, 0, 13, 15]])
Теперь нам нужно начать x
и f
:
x = np.array([[1,8,3,4,5],[10,13,13,12,15]])
x
- это:
array([[ 0, 8, 0, 0, 5],
[ 0, 13, 13, 0, 15]])
Наконец, мы сравним x
и f
для достижения нашей цели:
for i in range(0,len(f)):
for j in range(0,len(f[i])):
if x[i][j] not in f[i]:
x[i][j]=0
RESULT
для x
будет выглядеть так:
array([[ 0, 8, 0, 0, 5],
[ 0, 13, 13, 0, 15]])