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

Как в среднем список списков в Python?

https://youtu.be/zuyag3waoii Проблема: у вас есть список списков, и вы хотите рассчитать среднее значение различных столбцов. Пример: Учитывая следующий список списков с четырьмя строками и тремя колоннами. данные = [[0, 1, 0], [1, 1, 1], [0, 0, 0], [1, 1, 0]] Вы хотите иметь средние значения … Как в среднем список списков в Python? Подробнее “

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

Проблема : У вас есть список списков, и вы хотите рассчитать среднее значение различных столбцов.

Пример : Учитывая следующий список списков с четырьмя строками и тремя колоннами.

data = [[0, 1, 0],
        [1, 1, 1],
        [0, 0, 0],
        [1, 1, 0]]

Вы хотите иметь средние значения трех столбцов:

[average_col_1, average_col_2, average_col_3]

Есть три метода, которые решают эту проблему. Вы можете играть с ними в интерактивной оболочке и читать подробную информацию ниже:

Метод 1: Средний в Python (без библиотеки)

Простой одноклассник со пониманием списка в сочетании с функцией ZIP () в распакованном списке для транспонирования списка списков делает работу в Python.

data = [[0, 1, 0],
        [1, 1, 1],
        [0, 0, 0],
        [1, 1, 0]]


# Method 1: Pure Python
res = [sum(x) / len(x) for x in zip(*data)]
print(res)
# [0.5, 0.75, 0.25]

Вы любите Python One-Liners? Я делаю наверняка – я даже написал целую книгу об этом со Сан-Франциско издателем Nostarch. Нажмите, чтобы проверить книгу на новой вкладке:

Вы можете визуализировать выполнение кода и объекты памяти этого кода в следующем инструменте (просто нажмите «Далее», чтобы увидеть, как разворачивается один шаг кода).

Способ 2: в среднем с numpy библиотекой

Вы создаете номерного массива из данных и передайте его на функцию np.average ().

data = [[0, 1, 0],
        [1, 1, 1],
        [0, 0, 0],
        [1, 1, 0]]

# Method 2: NumPy
import numpy as np
a = np.array(data)
res = np.average(a, axis=0)
print(res)
# [0.5  0.75 0.25]

Ось Аргумент средней функции определяет, какая ось вы хотите рассчитать среднее значение. Если вы хотите средние столбцы, определите Ось = 0. . Если вы хотите средние строки, определите ось = 1 Отказ Если вы хотите в среднем по всем значениям, пропустите этот аргумент.

Метод 3: Средняя библиотека статистики + карта ()

Просто чтобы показать вам еще одну альтернативу, вот один, использующий Функция карты () и наше zip (* данные) Хитрость транспонировать “матрицу” данные Отказ

data = [[0, 1, 0],
        [1, 1, 1],
        [0, 0, 0],
        [1, 1, 0]]

# Method 3: Statistics + Map()
import statistics
res = map(statistics.mean, zip(*data))
print(list(res))
# [0.5, 0.75, 0.25]

Карта (функция, утечка) Функция применяется Функция каждому элементу в ИТЕРИТЕЛЬНО Отказ Как альтернатива, вы также можете использовать Понимание списка Как показано в методе 1 в этом руководстве. Фактически, Guido Van Rossum, создатель бейтона Python и Python, доброжелательный диктатор для жизни (BDFL), Предварительный список пометки на карте () Функция Отказ

Куда пойти отсюда?

Достаточно теории, давайте познакомимся!

Чтобы стать успешным в кодировке, вам нужно выйти туда и решать реальные проблемы для реальных людей. Вот как вы можете легко стать шестифункциональным тренером. И вот как вы польские навыки, которые вам действительно нужны на практике. В конце концов, что такое использование теории обучения, что никто никогда не нуждается?

Практические проекты – это то, как вы обостряете вашу пилу в кодировке!

Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?

Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.

Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.

Присоединяйтесь к свободному вебинару сейчас!

Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.

Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python одноклассники (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.

Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.

Оригинал: “https://blog.finxter.com/how-to-average-a-list-of-lists-in-python/”