Почему при работе с числовыми данными для аналитики часто предпочитают ndarray вместо Python list?
A
ndarray хорош тем, что хранит значения разных типов вперемешку быстрее, чем list.BПотому что
list поддерживает broadcasting, а ndarray — нет.C
ndarray обычно однороден по типу (dtype), хранит данные компактнее и поддерживает быстрые поэлементные операции.DПотому что
ndarray автоматически хранит данные на диске, а не в памяти.Правильный ответ. Однородность типов и компактное хранение делают
ndarray удобным для численной аналитики.Разбор
Python list может содержать разные типы, но это не оптимально для больших числовых массивов. NumPy ndarray обычно имеет один dtype, что позволяет хранить данные плотнее и выполнять векторные операции быстрее. Это напрямую связано с целями: понимать, когда нужен NumPy, и применять базовые операции без ручных циклов.
Проверь себя · 1/3разбор после ответа
Пусть
arr = np.array([[10, 20, 30], [40, 50, 60]]). Что вернёт выражение arr[:, 1]?Ещё вопросы по теме «NumPy: основы»
- После `import numpy as np` вы сравниваете операции над Python `list` и NumPy `ndarray`. Что верно для `lst * 2` и `arr * 2`, где `lst = [1, 2, 3]`, а `arr = np.array([1, 2, 3])`?
- Какое значение вернёт `arr.shape`, если `arr = np.array([[1, 2, 3], [4, 5, 6]])`?
- Что будет результатом выражения `arr + 10`, если `arr = np.array([1, 2, 3])`?
- Пусть `x = np.array([[1, 2], [3, 4]])`. Чему равен результат `np.sum(x, axis=0)`?
- Вы считаете метрику по большому массиву чисел и выбираете NumPy вместо Python `list`. Почему операции вроде `arr * 1.1` на `ndarray` обычно быстрее, чем цикл `for` по `list`?
- Все вопросы по «NumPy: основы» →