Я хочу отфильтровать массив по нескольким условиям.Я нашел эту ветку и протестировал метод нарезки на моем наборе данных, но получил неожиданные результаты.Ну, по крайней мере для меня они неожиданны, так как у меня может возникнуть проблема с пониманием функциональности побитовых операторов или что-то еще: /
Просто чтобы вы поняли данные:
test.shape
>>(222988, 2)
stats.describe(all_output[:, 0])
>>DescribeResult(nobs=222988, minmax=(2.594e-05, 74.821), mean=11.106, variance=108.246, [...])
stats.describe(all_output[:, 1])
>>DescribeResult(nobs=222988, minmax=(0.001, 8.999), mean=3.484, variance=7.606, [...])
Теперь, выполняя некоторую базовую фильтрацию:
test1 = test[(test[:, 0] >= 30) & (test[:, 1] <= 2)]
test1.shape
>>(337, 2)
Это на самом деле строки, которые я не хочу иметь в своем наборе данных, так что если я делаю то, что считаюобратное ...
test2 = test[(test[:, 0] <= 30) & (test[:, 1] >= 2)]
test2.shape
>>(112349, 2)
Я ожидаю, что результат будет (222651, 2).Я предполагаю, что я делаю что-то смущающе простое неправильно?Может ли кто-нибудь здесь подтолкнуть меня в правильном направлении?
Спасибо уже!-М