Продолжая наше исследование науки о данных с нуля Джоэла Груса (CH2). Вы заметите, что книга подчеркивает Pure Python с минимальными библиотеками, поэтому мы не увидим большую часть Numpy в книге. Однако, поскольку Numpy настолько распространен для приложений по науке о данных, и, поскольку списки
и Numpy массивы
Сделайте много совпадения, я думаю, было бы полезно использовать эту возможность для сравнения и сопоставления раздела, зная, что для Большинство Из книги мы будем использовать списки Python.
Списки являются фундаментальными для Python, поэтому я собираюсь потратить некоторое время на изучение их функций. Для науки о данных, Numpy Arrays
часто используются, поэтому я подумал, что было бы хорошо реализовать все список
Операции, описанные в этом разделе в Numpy Arrays
к Разбить их сходства и различия Анкет
Ниже приведены сходства.
Это подразумевает, что все, что можно сделать в Python списки
Также можно сделать в Numpy массивы
, в том числе: получение nth Элемент в списке/массиве с квадратными кронштейнами, нарежьте список/массив, итерация через список/массив с Начать, остановиться, шаг , используя в
Оператор, чтобы найти членство в списке/массиве, проверку длины и распаковка/массивы.
# setup import numpy as np # create comparables python_list = [1,2,3,4,5,6,7,8,9] numpy_array = np.array([1,2,3,4,5,6,7,8,9]) # bracket operations # get nth element with square bracket python_list[0] # 1 numpy_array[0] # 1 python_list[8] # 9 numpy_array[8] # 9 python_list[-1] # 9 numpy_array[-1] # 9 # square bracket to slice python_list[:3] # [1, 2, 3] numpy_array[:3] # array([1, 2, 3]) python_list[1:5] # [2, 3, 4, 5] numpy_array[1:5] # array([2, 3, 4, 5]) # start, stop, step python_list[1:8:2] # [2, 4, 6, 8] numpy_array[1:8:2] # array([2, 4, 6, 8]) # use in operator to check membership 1 in python_list # true 1 in numpy_array # true 0 in python_list # false 0 in numpy_array # false # finding length len(python_list) # 9 len(numpy_array) # 9 # unpacking x,y = [1,2] # now x is 1, y is 2 w,z = np.array([1,2]) # now w is 1, z is 2
Теперь вот различия.
Эти задачи могут быть выполнены в Python списки
, но требуется другой подход для Numpy массив
в том числе: модификация (расширение в списке, добавление для массива). Наконец, списки могут хранить смешанные типы данных, в то время как Numpy Array будет конвертировать в строку.
# python lists can store mixed data types heterogeneous_list = ['string', 0.1, True] type(heterogeneous_list[0]) # str type(heterogeneous_list[1]) # float type(heterogeneous_list[2]) # bool # numpy arrays cannot store mixed data types # numpy arrays turn all data types into strings homogeneous_numpy_array = np.array(['string', 0.1, True]) # saved with mixed data types type(homogeneous_numpy_array[0]) # numpy.str_ type(homogeneous_numpy_array[1]) # numpy.str_ type(homogeneous_numpy_array[2]) # numpy.str_ # modifying list vs numpy array # lists can use extend to modify list in place python_list.extend([10,12,13]) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13] numpy_array.extend([10,12,13]) # AttributeError: 'numpy.ndarray' # numpy array must use append, instead of extend numpy_array = np.append(numpy_array,[10,12,13]) # python lists can be added with other lists new_python_list = python_list + [14,15] # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15] numpy_array + [14,15] # ValueError # numpy array cannot be added (use append instead) # array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15]) new_numpy_array = np.append(numpy_array, [14,15]) # python lists have the append attribute python_list.append(0) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 0] # the append attribute for numpy array is used differently numpy_array = np.append(numpy_array, [0])
Python списки
и Numpy массивы
есть много общего, но есть и значимые различия.
Python перечисляет массивы Numpy: Какая разница
Теперь, когда мы знаем, что там являются Значимые различия, к чему мы можем приписать эти различия? Это Объясните из UCF Основные моменты производительность различия, включая:
- Размер
- Спектакль
- Функциональность
Я испытываю желание спуститься с этим 🐇 🕳 дальнейшего списки
против массив
Сравнения, но мы сейчас отдерживаемся.
Для получения дополнительного содержания в области данных, машинного обучения, R, Python, SQL и других, Найди меня в Твиттере Анкет
Оригинал: “https://dev.to/paulapivat/python-list-and-numpy-array-2g9o”