Почему NumPy массивы над стандартными библиотечными массивами?

Если мне нужны только 1D массивы, каковы преимущества производительности и размера в памяти при использовании массивов NumPy над массивами стандартной библиотеки Python? Или есть?

Предположим, у меня есть массивы по крайней мере тысяч элементов, и я хочу: быстрое время прямого доступа по индексу, и я хочу, чтобы наименьший объем памяти был возможен. Есть ли преимущество в производительности для использования этого:

from numpy import array a = array([1,2,3,4,5]) 

через это:

 from array import array a = array('i', [1,2,3,4,5]) 

Стандартные list Python будут иметь быстрый доступ к записям, но любая реализация array будет иметь гораздо меньший объем памяти. Что такое достойное компромиссное решение?

numpy отлично подходит для его фантазии индексирования, трансляции, маскировки, гибкого просмотра данных в памяти, многих его числовых методов и многое другое. Если вы просто хотите, чтобы контейнер array.array данные, используйте array.array или почему бы и нет простого list ?

Я предлагаю взглянуть на учебник numpy .

это полностью зависит от того, что вы планируете делать с массивом.

 >>> from array import array >>> a = array('i', [1,2,3,4,5]) >>> a + a array('i', [1, 2, 3, 4, 5, 1, 2, 3, 4, 5]) 

Обратите внимание, что стандартный lib обрабатывает массив, намного более похожий на последовательность, которая может быть нежелательной (или, может быть, это … Только вы можете это решить)