import numpy as np
data = np.array([
[20, 0, 5, 1],
[20, 0, 5, 1],
[20, 0, 5, 0],
[20, 1, 5, 0],
[20, 1, 5, 0],
[20, 2, 5, 1],
[20, 3, 5, 0],
[20, 3, 5, 0],
[20, 3, 5, 1],
[20, 4, 5, 0],
[20, 4, 5, 0],
[20, 4, 5, 0]
])
У меня есть следующий 2d массив. позволяет называть поля a, b, c, d
в указанном порядке, где столбец b
похож на id
. Я хочу, чтобы удалить все клетки, которые не суммируются и не имеют atlist 1 появление числа «1» в колонке d
для всех ячеек с тем же номером в столбце b
(тот же идентификатор), поэтому после фильтрации я буду иметь следующие результаты:python filter 2d массив на кусок данных
[[20 0 5 1]
[20 0 5 1]
[20 0 5 0]
[20 2 5 1]
[20 3 5 0]
[20 3 5 0]
[20 3 5 1]]
все строки с b = 1
и b = 4
были удалены из данных
подводить итоги, потому что я вижу, что ответы не приспосабливает. мы смотрим на куски данных по столбцу b
. если полный фрагмент данных не имеет даже одного вида числа «1» в столбце d
, мы удаляем все строки этого элемента b
. в следующем примере мы можем увидеть фрагмент данных с b = 1
и b = 4
(«id» = 1 и «id» = 4), которые имеют 0 номеров числа «1» в столбце d
. вот почему он будет удален из данных
Это список списков или массив numpy? Пробовал что-нибудь еще? –
это работает как массив numpy. он был сгенерирован из этой команды: result = np.loadtxt ("name.csv", delimiter = ","). astype (int). строка в файле выглядит так: 5.0000,20090.0000,0.1854,1.0000 –
Пожалуйста, внесите свой вопрос, чтобы включить код. Комментарии не предназначены для кода –