Iteração em Python | enumerar (), elemento (), por exemplo, enditer (), iterrows ()

Conteúdo

Esta postagem foi lançada como parte do Data Science Blogathon.

Introdução

Uma iteração é um objeto que repete tarefas idênticas ou semelhantes sem cometer erros. De certo modo, podemos dizer que a execução repetida de um conjunto de instruções é sobre o que trata a iteração. Piton tem vários recursos de linguagem para ajudar a realizar a tarefa de iteração.

Como objeto, o iterador conta uma série de valores que podem ser iterados. As listas, tuplas, dicionários, strings e conjuntos são todos objetos iteráveis. Iteráveis ​​filho containers a partir do qual você pode obter um iterador.

No próximo tópico, veremos um resumo dos diferentes processos de iteração.

Loop usando enumerar ()

O uso de um loop for para iterar sobre uma lista apenas nos dá acesso a todos os itens da lista em cada execução, um após o outro. Si uno además quiere entrar a la data del índice, então, onde está o elemento da lista sobre o qual estamos iterando, podemos usar enumerar().

Como exemplo, veja como por O loop foi convertido criando uma lista de áreas:

# lista de áreas
áreas = [11.25, 18.0, 20.0, 10.75, 9.50]

# Mude para o loop para usar enumerar() e atualizar imprimir()
para x, y em enumerar(áreas) :
    imprimir("sala ", str(x), ": ", str(e))

Produção:

sala 0: 11.20
sala 1: 18.0
sala 2: 20.0
sala 3: 10.75
sala 4: 9.5

Fazer loop no dicionário – Itens ()

Em Python 3, nós precisamos dos itens() método para fazer um loop em um dicionário. Em cada iteração, "a capital de x é y" será impresso, onde x é a chave ey é o valor do par.
# Definição de dicionário
europa = {'Espanha':'madri', 'França':'Paris', 'Alemanha':'Berlim',
 'Noruega':'Oslo', 'Itália':'Roma', 'Polônia':'Varsóvia', 'Áustria':'viena' }

# Iterar sobre a Europa
para x, y em europe.items():
    imprimir("a capital de ", str(x), " é ", str(e))

Produção:

the capital of norway is oslo
the capital of poland is warsaw
the capital of italy is rome
the capital of spain is madrid
the capital of austria is vienna
the capital of germany is berlin

Loop na matriz numpy – por exemplo, enditer ()

Se estamos lidando com uma matriz 1D Numpy, passando por todos os itens pode ser tão simples quanto:

para x em my_array :

Se estamos lidando com uma matriz Numpy 2D, é mais complexo. Uma matriz 2D é composta de várias matrizes 1D. Para iterar explicitamente em todos os itens separados em uma matriz multidimensional, vamos precisar desta sintaxe:

para x em np.nditer(my_array) :

A seguir, nós escrevemos um loop para que itera sobre todos os itens em np_height e imprime "x polegadas" para cada elemento, onde x é o valor da matriz.

# Importação numpy como np
importar numpy como np

# Para loop sobre np_height
para x em np_height:
    imprimir(x, "Polegadas")

# Para loop sobre np_baseball
para n em np.nditer(np_baseball):
    imprimir(n)

Produção:

74 Polegadas
74 Polegadas
72 Polegadas
72 Polegadas
73 Polegadas
69 Polegadas
69 Polegadas
71 Polegadas
76 Polegadas
71 Polegadas
73 Polegadas.....

Touring iterrows ():

Usando iterrows () iterar em cada observação de um Pandas DataFrame. Aqui, estamos usando um loop para adicionar uma nova coluna, chamado COUNTRY, que contém uma versão capitalizada dos nomes do país na coluna “País”. Estamos usando o método de string superior() para isto.

# Dados de carros de importação
import pandas as pd
cars = pd.read_csv('carros.csv', index_col = 0)

# Código para loop que adiciona coluna COUNTRY
para laboratório, linha em carros.iterrows():
    carros.loc[labrador, "PAÍS"] = linha['país'].superior()

# Imprimir carros
imprimir(Carros)

Use iterrows () iterar em cada observação de um DataFrame Pandas é fácil de entender, mas não muito eficiente. Em cada iteração, estamos criando uma nova série Pandas em Python. Se quisermos adicionar uma coluna a um DataFrame, chamando uma função em outra coluna, o método iterrows () em combinação com um loop para não é a maneira preferida de fazê-lo. Em seu lugar, queremos usar solicitar()

Em seguida, vamos usar o solicitar() versão para obter o mesmo resultado no DataFrame:

# Use .aplicar(str.superior)
Carros["PAÍS"] = carros["país"].Aplique(str.superior)
imprimir(Carros)

Produção:

cars_per_cap drives_right país (nós, PAÍS)
nós 809 United States True UNITED STATES
AUS 731 Australia False AUSTRALIA
JPN 588 Japan False JAPAN
IN 18 India False INDIA
RU 200 Russia True RUSSIA
MOR 70 Marrocos True MOR

Podemos usar as ferramentas de iteração acima para trabalhar com iteração em Python de uma forma mais eficaz. Este foi apenas o resumo da iteração. Você pode trabalhar com diferentes exemplos.

A mídia mostrada nesta postagem não é propriedade da DataPeaker e é usada a critério do autor.

Assine a nossa newsletter

Nós não enviaremos SPAM para você. Nós odiamos isso tanto quanto você.