Чтобы преобразовать список Python в Numpy Array, используйте один из следующих двух способов:
-
np.array ()Функция, которая принимает и возвращает NAMPY ARRAY, создавая новую структуру данных в памяти Отказ - То
np.asarray ()Функция, которая принимает как аргумент, и преобразует его в массив. Разница вnp.array ()в том, чтоnp.asarray ()Не создает новую копию в памяти, если вы передаете небольшой массив. Все изменения, сделанные на исходном массиве, отражены на Numpy Array.
Упражнение : Создать массив b от массива a используя оба метода. Затем измените значение в массиве a Отказ Что происходит в массиве b ?
Numpy vs python списки
Тип данных встроенного списка Python является мощным. Однако Numpy Array имеет много преимуществ по спискам Python. Кто они такие?
| Многомерное нарезка | Не зависит от библиотеки |
| Функциональность вещания | Интуитивно понятный |
| Скорость обработки | Менее сложный |
| След памяти | Гетерогенные данные списка разрешены |
| Много удобных методов | Произвольная форма данных (не квадратная матрица) |
Чтобы узнать больше о преимуществах Numpy Array через список Python, прочитайте мой подробный учебник по блогу.
Как преобразовать список 1D Python в Numpy Array?
Проблема : Учитывая одномерный список Python. Как преобразовать его в Numpy Array?
Пример : У вас есть следующий 1d Python список целых чисел.
lst = [0, 1, 100, 42, 13, 7]
Вы хотите преобразовать его в Numpy Array.
array([ 0, 1, 100, 42, 13, 7])
Метод 1: NP.array (…)
Самый простой способ преобразовать список Python в Numpy Array – использовать np.array () Функция, которая предпринимает и возвращает Numpy Array.
import numpy as np lst = [0, 1, 100, 42, 13, 7] print(np.array(lst))
Вывод:
# [ 0 1 100 42 13 7]
Это создает новую структуру данных в памяти. Изменения в исходном списке не видны переменной, которая содержит Numpy Array:
lst = [0, 1, 100, 42, 13, 7] a = np.array(lst) lst.append(999) print(a) # [ 0 1 100 42 13 7]
Элемент 999 который сейчас является частью списка lst не является частью массива А Отказ
Способ 2: np.asarray (…)
Альтернатива – использовать np.asarray () Функция, которая принимает один аргумент – итабельный – и преобразует его в Numpy Array. Разница в np.array () Это то, что он не создает новую копию в памяти, если вы передаете небольшой массив. Все изменения, сделанные на оригинальном массиве, отражены на Numpy Array! Так что будь осторожен.
lst = [0, 1, 100, 42, 13, 7] a = np.array(lst) b = np.asarray(a) a[0] = 99 print(b) # [ 99 1 100 42 13 7]
Массив B создается с помощью np.asarray () Функция, так что если вы измените значение массива А изменение будет отражено на переменной B (потому что они указывают на тот же объект в памяти).
[Видео] Как преобразовать список списков в Numpy Array?
Конвертировать список списков на 2D Array
Проблема : Учитывая Список списков в питоне. Как преобразовать его в 2D Numpy Array ?
Пример : Преобразовать следующий список списков
[[1, 2, 3], [4, 5, 6]]
в Numpy Array
[[1 2 3] [4 5 6]]
Решение : Используйте np.array (список) Функция для преобразования списка списков в двумерный массив Numpy. Вот код:
# Import the NumPy library import numpy as np # Create the list of lists lst = [[1, 2, 3], [4, 5, 6]] # Convert it to a NumPy array a = np.array(lst) # Print the resulting array print(a) ''' [[1 2 3] [4 5 6]] '''
Попробуйте сами : Вот тот же код в нашем интерпретатере интерактивного кода:
Подсказка : Numpy метод np.array () принимает счетчик в качестве ввода и преобразует его в Numpy Array.
Преобразовать список списков с разным количеством элементов
Проблема : Учитывая Список списков Отказ Внутренние списки имеют различное количество элементов. Как преобразовать их в Numpy Array?
Пример : Скажем, у вас есть следующий список списков:
[[1, 2, 3], [4, 5], [6, 7, 8]]
Каковы различные подходы для преобразования этого списка списков в Numpy Array?
Решение : Есть три разных стратегиях, которые вы можете использовать. ( Источник )
(1) Используйте стандарт np.array () функция.
# Import the NumPy library import numpy as np # Create the list of lists lst = [[1, 2, 3], [4, 5], [6, 7, 8]] # Convert it to a NumPy array a = np.array(lst) # Print the resulting array print(a) ''' [list([1, 2, 3]) list([4, 5]) list([6, 7, 8])] '''
Это создает Numpy Array с тремя элементами – каждый элемент – это тип списка. Вы можете проверить тип вывода, используя встроенный Тип () Функция:
>>> type(a)
(2) Сделайте массив массивов.
# Import the NumPy library import numpy as np # Create the list of lists lst = [[1, 2, 3], [4, 5], [6, 7, 8]] # Convert it to a NumPy array a = np.array([np.array(x) for x in lst]) # Print the resulting array print(a) ''' [array([1, 2, 3]) array([4, 5]) array([6, 7, 8])] '''
Это более логично, чем предыдущая версия, потому что она создает Numpy Array 1D Numpy Armays (а не 1D списков Python).
(3) Сделайте списки равными по длине.
# Import the NumPy library import numpy as np # Create the list of lists lst = [[1, 2, 3], [4, 5], [6, 7, 8, 9]] # Calculate length of maximal list n = len(max(lst, key=len)) # Make the lists equal in length lst_2 = [x + [None]*(n-len(x)) for x in lst] print(lst_2) # [[1, 2, 3, None], [4, 5, None, None], [6, 7, 8, 9]] # Convert it to a NumPy array a = np.array(lst_2) # Print the resulting array print(a) ''' [[1 2 3 None] [4 5 None None] [6 7 8 9]] '''
Вы используете Понимание списка на «подушку» Нет Значения каждому внутреннему списку с меньшей максимальной длины.
Статьи по Теме
- Как преобразовать список списков в Numpy Array?
- Каковы преимущества Numpy Armays над списками Python?
Куда пойти отсюда?
Достаточно теории, давайте познакомимся!
Чтобы стать успешным в кодировке, вам нужно выйти туда и решать реальные проблемы для реальных людей. Вот как вы можете легко стать шестифункциональным тренером. И вот как вы польские навыки, которые вам действительно нужны на практике. В конце концов, что такое использование теории обучения, что никто никогда не нуждается?
Практические проекты – это то, как вы обостряете вашу пилу в кодировке!
Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?
Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.
Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.
Присоединяйтесь к свободному вебинару сейчас!
Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.
Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python One-listers (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.
Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.