Como fazer a média de uma lista de listas em Python?

Problema: Você tem uma lista de listas e quer calcular a média das diferentes colunas.

Exemplo: Dada a seguinte lista de listas com quatro linhas e três colunas.

data = , , , ]

Você quer ter os valores médios das três colunas:


Exemplo: Existem três métodos que resolvem este problema. Você pode brincar com eles na shell interativa e ler mais detalhes abaixo:

Table of Contents

Método 1: Média em Python (Sem biblioteca)

Um simples one-liner com compreensão de lista em combinação com a função zip() na lista desempacotada para transpor a lista de listas faz o trabalho em Python.

data = , , , ]# Method 1: Pure Pythonres = print(res)# 

Você ama os one-liners em Python? Tenho a certeza – até já escrevi um livro inteiro sobre isso com a Editora São Francisco NoStarch. Clique para ver o livro em uma nova aba:

Você pode visualizar a execução do código e os objetos de memória deste código na seguinte ferramenta (basta clicar em “Next” para ver como um passo do código se desdobra).

Método 2: Média com NumPy Library

Você cria um array NumPy a partir dos dados e o passa para a função np.average().

data = , , , ]# Method 2: NumPyimport numpy as npa = np.array(data)res = np.average(a, axis=0)print(res)# 

O argumento axis da função média define ao longo de qual eixo você quer calcular o valor médio. Se você quiser calcular a média das colunas, defina axis=0. Se quiser calcular a média de linhas, defina axis=1. Se quiser calcular a média sobre todos os valores, salte este argumento.

Método 3: Biblioteca de estatísticas médias + Mapa()

Apenas para mostrar outra alternativa, aqui está uma usando a função map() e o nosso zip(*data) truque para transpor a “matriz” data.

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

A função map(function, iterable) aplica-se function a cada elemento em iterable. Como alternativa, você também pode usar a compreensão de lista como mostrado no método 1 neste tutorial. Na verdade, Guido van Rossum, o criador de Python e o benevolente ditador de Python para a vida (BDFL), prefere a compreensão de lista em vez da função map().

Para onde ir a partir daqui?

Suficiente teoria, vamos ter alguma prática!

Para ter sucesso na codificação, você precisa ir lá fora e resolver problemas reais para pessoas reais. É assim que você pode se tornar um ganhador de seis dígitos facilmente. E é assim que você polui as habilidades que você realmente precisa na prática. Afinal de contas, qual é a utilidade de aprender teoria que ninguém nunca precisa?

Projetos práticos é como você afiar sua serra na codificação!

Você quer se tornar um mestre em código, focando em projetos práticos de código que realmente lhe ganham dinheiro e resolvem problemas para as pessoas?

Então torne-se um desenvolvedor Python freelance! É a melhor maneira de abordar a tarefa de melhorar suas habilidades Python – mesmo que você seja um iniciante completo.

Junte-se ao meu webinar gratuito “Como Construir Seu Python de Alta Habilidade” e veja como eu cresci meu negócio de codificação online e como você pode, também – do conforto de sua própria casa.

Junte-se ao webinar gratuito agora!

Ao trabalhar como pesquisador em sistemas distribuídos, o Dr. Christian Mayer encontrou seu amor por ensinar estudantes de informática.

Para ajudar os estudantes a alcançar níveis mais altos de sucesso Python, ele fundou o site de educação em programação Finxter.com. Ele é autor do popular livro de programação Python One-Liners (NoStarch 2020), co-autor da série Coffee Break Python de livros auto-publicados, entusiasta da ciência da computação, freelancer, e proprietário de um dos 10 maiores blogs Python do mundo.

As suas paixões são escrever, ler e codificar. Mas sua maior paixão é servir aspirantes a codificador através do Finxter e ajudá-los a aumentar suas habilidades. Você pode se juntar à sua academia de e-mail grátis aqui.

Deixe uma resposta

O seu endereço de email não será publicado.