Проблема : Учитывая список списков, представляющих матрицу данных с N Rows и M столбцов. Как суммировать по столбцам этой матрицы? В этой статье вы собираетесь изучать разные способы достичь этого в Python Отказ
Давайте убедитесь, что вы на одной странице. Вот графическое представление списка списков и то, что вы хотите достичь:
Пример : Учитывая следующий код.
# Your list of lists data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] # ... Algorithm here ... print(res) # OUTPUT: [12, 15, 18]
Фон : Чтобы узнать больше о списке списков, Проверьте нашу справочную статью о блоге Finxter Отказ
Далее вы узнаете три различных метода для суммирования по столбцам. Давайте получим быстрый обзор всех трех методов, нажмите «Запустить», чтобы выполнить код и посмотреть, что произойдет!
Метод 1: сумма в Python (без библиотеки)
Простой одноклассник со пониманием списка в сочетании с функцией ZIP () в распакованном списке для транспонирования списка списков делает работу в Python.
data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] # Method 1: Pure Python res = [sum(x) for x in zip(*data)] print(res) # [12, 15, 18]
Ты любишь Python One-listers ? Я наверняка – я даже написал целая книга Об этом со Сан-Франциско издателем Nostarch. Нажмите, чтобы проверить книгу на новой вкладке:
Вы можете визуализировать выполнение кода и объекты памяти этого кода в следующем инструменте (просто нажмите «Далее», чтобы увидеть, как разворачивается один шаг кода).
Метод 2: сумма с numpy библиотекой
Вы создаете Numpy Array из данных и передаете его в функцию NP.SUM ().
data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] # Method 2: NumPy import numpy as np a = np.array(data) res = np.sum(a, axis=0) print(res) # [12 15 18]
Ось аргумент Из суммы функции определяет, на какую ось вы хотите рассчитать значение суммы. Если вы хотите суммировать столбцы, используйте Ось = 0
Отказ Если вы хотите суммировать по ряду строк, используйте ось = 1
Отказ Если вы хотите суммировать все значения, пропустите этот аргумент.
Метод 3: сумма () + карта ()
Просто чтобы показать вам еще одну альтернативу, вот один, использующий Карта () Функция и наше zip (* данные)
Хитрость транспонировать “матрицу” данные
Отказ
data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] # Method 3: Map() res = map(sum, zip(*data)) print(list(res)) # [12, 15, 18]
Карта (функция, утечка)
Функция применяется Функция
каждому элементу в ИТЕРИТЕЛЬНО
Отказ Как альтернатива, вы также можете использовать Понимание списка Как показано в методе 1 в этом руководстве. Фактически, Guido Van Rossum, создатель бейтона Python и Python, доброжелательный диктатор для жизни (BDFL), Предварительный список пометки на карте () Функция Отказ
Статьи по Теме:
- Как в среднем по списку списков в Python?
- Как суммировать в рядах списка списков?
Куда пойти отсюда?
Достаточно теории, давайте познакомимся!
Чтобы стать успешным в кодировке, вам нужно выйти туда и решать реальные проблемы для реальных людей. Вот как вы можете легко стать шестифункциональным тренером. И вот как вы польские навыки, которые вам действительно нужны на практике. В конце концов, что такое использование теории обучения, что никто никогда не нуждается?
Практические проекты – это то, как вы обостряете вашу пилу в кодировке!
Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?
Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.
Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.
Присоединяйтесь к свободному вебинару сейчас!
Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.
Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python One-listers (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.
Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.