Рубрики
Без рубрики

Список Python и Numpy Array

Продолжая наше исследование науки о данных с нуля Джоэла Груса (CH2). Вы заметите, что книга … помечена Python, Machine Learning, Data Science.

Продолжая наше исследование науки о данных с нуля Джоэла Груса (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”