Iteración en Python | enumerar (), Element (), np.nditer (), iterrows ()

Teilen auf Facebook
Teilen auf twittern
Teilen auf verlinktin
Teilen auf Telegramm
Teilen auf WhatsApp

Inhalt

Dieser Beitrag wurde im Rahmen der . veröffentlicht Data Science Blogathon.

Einführung

Una iteración es un objeto que repite tareas idénticas o similares sin cometer errores. In gewisser Weise, podemos decir que la ejecución repetida de un conjunto de declaraciones es de lo que se trata la iteración. Felshaken tiene varias características de lenguaje para ayudar la realización de la tarea de iteración.

Como objeto, el iterador cuenta una serie de valores sobre los que se puede iterar. Las listas, Tupel, Wörterbücher, cadenas y conjuntos son todos objetos iterables. Son iterables Behälter del cual puede obtener un iterador.

En el siguiente tema, veremos un resumen de los diferentes procesos de iteración.

Bucle usando enumerate ()

El uso de un bucle for para iterar sobre una lista solo nos da acceso a todos los ítems de la lista en cada ejecución, einer nach demanderen. Si uno además quiere entrar a la data del índice, dann, donde se encuentra el elemento de la lista sobre el que estamos iterando, wir können benutzen enumerar().

Als Beispiel, observe cómo von El bucle se convirtió creando una lista de áreas:

# areas list
areas = [11.25, 18.0, 20.0, 10.75, 9.50]

# Change for loop to use enumerate() and update print()
für x, y in enumerate(areas) :
    drucken("room ", str(x), ": ", str(Ja))

Produktion:

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

Bucle sobre diccionario – Produkte ()

In Python 3, we need the items() method to loop over a dictionary. On each iteration, "the capital of x is y" will be printed out, where x is the key and y is the value of the pair.
# Definition of dictionary
europe = {'spain':'madrid', 'france':'paris', 'germany':'berlin',
 'norway':'oslo', 'italy':'rome', 'poland':'warsaw', 'austria':'vienna' }

# Iterate over europe
für x, y in europe.items():
    drucken("the capital of ", str(x), " ist ", str(Ja))

Produktion:

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

Bucle sobre matriz Numpynp.nditer ()

Si estamos tratando con una matriz 1D Numpy, recorrer todos los ítems puede ser tan simple como:

for x in my_array :

Si estamos tratando con una matriz 2D Numpy, es más complejo. Una matriz 2D está formada por varias matrices 1D. Para iterar explícitamente sobre todos los ítems separados de una matriz multidimensional, necesitaremos esta sintaxis:

for x in np.nditer(my_array) :

Dann, escribimos un bucle for que itera sobre todos los ítems de np_height e imprime “x pulgadas” para cada elemento, donde x es el valor de la matriz.

# Import numpy as np
numpy als np importieren

# For loop over np_height
for x in np_height:
    drucken(x, "inches")

# For loop over np_baseball
for n in np.nditer(np_baseball):
    drucken(n)

Produktion:

74 inches
74 inches
72 inches
72 inches
73 inches
69 inches
69 inches
71 inches
76 inches
71 inches
73 inches…..

Recorriendo iterrows ():

Usando iterrows () para iterar sobre cada observación de un Pandas DataFrame. Hier, estamos usando un bucle for para agregar una nueva columna, llamada PAÍS, que contiene una versión en mayúsculas de los nombres de los países en la columna “Land”. Estamos usando el método de cadena Vorgesetzter() dafür.

# Import cars data
import pandas as pd
cars = pd.read_csv('cars.csv', index_col = 0)

# Code for loop that adds COUNTRY column
for lab, row in cars.iterrows():
    cars.loc[lab, "COUNTRY"] = row['Land'].upper()

# Print cars
drucken(cars)

Utilizar iterrows () para iterar sobre cada observación de un Pandas DataFrame es fácil de comprender, pero no muy eficiente. In jeder Iteration, estamos creando una nueva serie Pandas en Python. Si queremos agregar una columna a un DataFrame llamando a una función en otra columna, el método iterrows () en combinación con un bucle for no es la forma preferida de hacerlo. Stattdessen, queremos utilizar Anfrage()

A continuación usaremos el Anfrage() versión para obtener el mismo resultado en el DataFrame:

# Use .apply(str.upper)
cars["COUNTRY"] = cars["Land"].anwenden(str.upper)
drucken(cars)

Produktion:

cars_per_cap country drives_right (uns, COUNTRY)
uns 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 Morocco True MOR

Podemos usar las herramientas de iteración anteriores para trabajar con la iteración en Python de una manera más efectiva. Este fue solo el resumen de la iteración. Se puede trabajar con diferentes ejemplos.

Die in diesem Beitrag gezeigten Medien sind nicht Eigentum von DataPeaker und werden nach Ermessen des Autors verwendet.

Abonniere unseren Newsletter

Wir senden Ihnen keine SPAM-Mail. Wir hassen es genauso wie du.