Простая индексация: arr[0]
Срезы: arr[: 5]
Маски: arr[arr > 0]
В "прихотливой" индексации передаются массивы индексов. Это дает возможность быстрого доступа к различным подмножествам.
В случае "прихотливой" индексации форма результата отражает форму массивов индексов(index arrays), а не форму индексированного массива.
Сортировка массива (notebook) По умолчанию np.sort имеет сложность O(n*logn), это алгоритм быстрой сортировки (quicksort). Так же доступны алгоритмы сортировки слиянием (mergesort) и пирамидальная сортировка (heapsort).
Иногда необходимо найти K наименьших значений в массиве, для этой цели можно использовать np.partition. Эта функция принимает массив и число, на выходе получаем массив, где первые K элементов наименьшие в этом массиве.
Структурированные данные (notebook) Преимущество таких данных в том, что dtype напрямую соответствует структуре С. По этому есть возможность напрямую обращаться к буферу памяти таких массивов из программы на С.
Но в большинстве случаев удобней использовать более высокоуровневый объект DataFrame из пакета Pandas.