Python: Транспонирование списка списков (5 простых способов!)
В этом руководстве вы узнаете, как использовать Python для транспонирования списка списков, иногда называемого двумерным массивом. При транспонировании списка списков мы по существу превращаем строки матрицы в ее столбцы, а столбцы - в строки. Это очень полезный навык при изучении машинного обучения.
В этом руководстве вы узнаете, как сделать это с помощью циклов for, списочных включений, функции zip(), библиотеки itertools, а также используя популярную библиотеку numpy для выполнения этой задачи.
Содержание
Что означает транспонировать список списков в Python?
Транспонирование списка списков с помощью Numpy
Использование функции
Zipдля транспонирования списков в PythonИспользование
Itertoolsдля транспонирования списка списковТранспонирование списка списков с помощью цикла
ForИспользование списочного включения для транспонирования списков в Python
Заключение
Что означает транспонировать список списков в Python?
Транспонирование массивов - это распространенная функция, которую часто нужно выполнять при работе над проектами машинного обучения. Но что именно означает транспонировать список списков в Python?
Мы можем рассматривать подсписки в нашем списке списков в Python как строки матрицы. Когда мы транспонируем список списков, мы по существу превращаем строки нашей матрицы в столбцы и столбцы - в строки.
Посмотрим, как это выглядит визуально:
original = [
[1,2,3],
[4,5,6],
[7,8,9]
]
transposed = [
[1, 4, 7],
[2, 5, 8],
[3, 6, 9]
]Транспонирование списка списков с помощью Numpy
Python предоставляет отличную утилиту numpy, которая делает работу с числовыми операциями невероятно простой! Numpy поставляется с различными типами объектов, один из которых - массив numpy. Эти массивы имеют много общего со списками Python, но также позволяют выполнять ряд полезных математических операций.
Одной из таких операций является транспонирование данных с использованием метода .transpose(), который также может быть сокращен до .T.
Перед использованием этих методов нам нужно преобразовать наш список или список списков в массив numpy.
Использование функции Zip для транспонирования списков в Python
Zip для транспонирования списков в PythonФункция zip() - невероятно полезный метод, который позволяет получить n-й элемент итерируемого объекта последовательно при переборе нескольких итерируемых объектов.
Использование Itertools для транспонирования списка списков
Itertools для транспонирования списка списковИногда при работе со списками списков в Python вы столкнетесь с подсписками разной длины. В этих случаях функция zip() будет исключать все, что больше длины самого короткого подсписка.
Транспонирование списка списков с помощью цикла For
ForЦиклы for в Python - это невероятные инструменты для лучшего понимания работы некоторых алгоритмов.
Использование списочного включения для транспонирования списков в Python
Заключение
В этой статье вы научились транспонировать список списков или двумерный массив в Python. Вы узнали, как сделать это с помощью популярной библиотеки для науки о данных numpy, а также используя встроенную функцию zip(), либо самостоятельно, либо с библиотекой itertools. Вы также изучили более простые методы выполнения этой задачи с помощью циклов for и списочных включений в Python.
Чтобы узнать больше о методе numpy transpose, ознакомьтесь с официальной документацией здесь
Последнее обновление