NumPy — фундамент для числовых вычислений в Python и основа pandas, scipy, sklearn. На собеседовании спрашивают про ndarray, broadcasting, векторизацию, индексирование массивов и разницу в производительности с чистым Python. Понимание NumPy показывает, что аналитик готов работать с данными эффективно.
Всего в этом разделе 20 вопросов. Каждый — с правильным ответом и кратким разбором теории. Разбито на 4 части по 5 вопросов.
`np.array([[...], [...]])` создаёт 2D `ndarray`, где внешний список — строки, а внутренние списки — элементы в строке. В примере 2 строки и 3 столбца, поэтому `arr.shape` будет (2, 3). Понимание `shape` важно для индексации/срезов и для broadcasting.
Функции `np.sum()` и `np.mean()` без `axis` агрегируют по всем элементам массива. Это удобно, когда нужен общий итог (например, сумма всех продаж), но важно помнить: без `axis` вы теряете разбиение по строкам/столбцам.
В NumPy (как и в Python) верхняя граница среза не включается. Поэтому `arr[1:3]` берёт элементы с индексами 1 и 2: это 20 и 30. Понимание срезов важно для подготовки подвыборок и оконных признаков.
`np.zeros((7, 3))` создаёт 2D массив нулей с 7 строками и 3 столбцами. Ошибка новичка — передать два аргумента вместо одного кортежа (`np.zeros(7, 3)`) или создать 1D массив длины 21 (`np.zeros(7*3)`). Понимание создания и формы — базовый навык работы с `ndarray`.
`np.arange(6)` создаёт 1D массив из 6 элементов. Вызов `.reshape(2, 3)` переупаковывает эти 6 элементов в 2 строки и 3 столбца, поэтому `arr.shape` будет (2, 3). Это базовый навык работы с формой `ndarray`.
В приложении — таймер, прогресс, стрики и 1700+ вопросов по всем темам.
Тренировать в Telegram