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

Как преобразовать список на номерного массива?

Чтобы преобразовать список Python в NUMPY ARMPY, используйте любой из следующих двух методов: функция NP.Array (), которая предпринимает и возвращает массив NAMPY, создающий новую структуру данных в памяти. принимает намерение в качестве аргумента и преобразует его в массив. Разница в np.array () – это то, что … Как преобразовать список на номерного массива? Читать далее “

Автор оригинала: Chris.

Чтобы преобразовать список Python в Numpy Array, используйте один из следующих двух способов:

  1. np.array () Функция, которая принимает и возвращает NAMPY ARRAY, создавая новую структуру данных в памяти Отказ
  2. То 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 и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.