У меня есть домашнее задание для извлечения двумерного массива numpy из другого двумерного массива np путем выбора определенных столбцов по условию (не по диапазону).
Итак, у меня есть массив A
с формой (3, 50000)
. Я пытаюсь получить новый массив с формой (3, x)
для некоторых x < 50000 with the original columns of
A that satisfy the third cell in the column is
-0,4
Например, если:
A = [[1,2,3],[2,0.5,0],[9,-2,-0.2],[0,0,0.5]]
Я хочу получить обратно:
B = [[2,0.5,0],[9,-2,-0.2]
Я попытался создать массив bool 1 rank, который будет справедлив для столбцов, которые я хочу, и для некоторых, как объединить их. Проблема в том, что он выводит массив 1 ранга, а это не то, что я ищу. И я получил несколько ValueErrors ..
bool_idx = (-0.4 < x_y_z[2] < 0.1)
Этот код создал некоторые проблемы:
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
Я могу сделать это с помощью некоторых циклов, но NumPy получил так много прекрасных функций, что, я уверен, что-то здесь не хватает ..