Pandas itererer over rader

Pandas itererer over rader
Gjennom denne artikkelen vil vi oppdage forskjellige metoder og teknikker vi kan bruke for å iterere over rader i en Pandas dataaframe.

Eksempel på DataFrame

La oss starte med å sette en prøve DataFrame. Etter det, bruk gjerne DataFrame slik du synes passer.

df = pd.Dataramme(
'DB': ['MySQL', 'PostgreSql', 'Redis', 'MongoDB', 'SQL Server'],
'Port': [3306, 5480, 3309, 9001, 5500],
'Records': [12000, 2344, 4500, 90000, 1000]
)
df

Koden over skal opprette en enkel dataaframe som vist nedenfor:

Metode 1 - Iterate rader ved hjelp av Iterrows ()

Pandaer gir oss ITERROWS () -metoden som lar oss iterere over radene til en dataaframe. Funksjonen returnerer et par indeks og rad som en serie.

Vi kan bruke denne funksjonen til å iterere over radene som vist i eksemplet nedenfor:

for _, rad i df.Iterrows ():
print (f "rad \ n")

I eksempelkoden ovenfor bruker vi Iterrows () -funksjonen for å hente hver rad fra DataFrame. Koden over skal returnere:

Merk at _ i løkken representerer kolonnens indeks i DataFrame.

Metode 2 - Iterate rader ved hjelp av iterTuples ()

IterTuples () -metoden i pandaer lar oss iterere over radene til en pandas dataaframe. Funksjonen returnerer et objekt for å gjøre det mulig for oss å iterere over de navngitte tuplene for hver rad i DataFrame.

Funksjonen lar deg også bevare datatypen mens du iterer. Derfor anses det for å være raskere enn Iterrows ().

Et eksempel på illustrasjonen vises i koden nedenfor:

for rad i DF.itertuples ():
trykk (rad)

Koden over skal returnere tuples for hver rad i DataFrame. Et eksempelutgang er som vist:

For å ekskludere indeksen fra resultatet, kan vi stille inn indeksparameteren til FALSE. Et eksempel er som vist:

for rad i DF.itertuples (indeks = falsk):
trykk (rad)

Koden over skal returnere:

Tanker

Pandas fraråder generelt iterasjon av en dataaframe. Endre heller aldri data mens du itererer når iterasjonen returnerer en kopi av dataene og ikke en visning.

Hvis du ønsker å endre data mens du itererer, kan du velge andre alternativer som:

  1. Liste over forståelse
  2. Vektorisering
  3. Cython -rutiner.