πŸΌπŸ”Ž Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ pandas iterrows

Когда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ iterrows() Π² Pandas, ΠΎΠ½ создаСт ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ строки (индСкс ΠΈ Π΄Π°Π½Π½Ρ‹Π΅) Π² DataFrame. Но слСдуСт ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ iterrows() являСтся ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΌ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ, ΠΈ Π΅Π³ΠΎ использованиС слСдуСт ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ³Π΄Π° это Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ.

import pandas as pd

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ DataFrame
df = pd.DataFrame({'Имя': ['Анна', 'Борис', 'ΠšΠ°Ρ‚Ρ'],
                   'Возраст': [23, 28, 32],
                   'Π“ΠΎΡ€ΠΎΠ΄': ['Москва', 'Π‘Π°Π½ΠΊΡ‚-ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³', 'Π•ΠΊΠ°Ρ‚Π΅Ρ€ΠΈΠ½Π±ΡƒΡ€Π³']})

# ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° iterrows()
for index, row in df.iterrows():
    print(f'{row["Имя"]} ΠΆΠΈΠ²Π΅Ρ‚ Π² Π³ΠΎΡ€ΠΎΠ΄Π΅ {row["Π“ΠΎΡ€ΠΎΠ΄"]}.')

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚:

Анна ΠΆΠΈΠ²Π΅Ρ‚ Π² Π³ΠΎΡ€ΠΎΠ΄Π΅ Москва.
Борис ΠΆΠΈΠ²Π΅Ρ‚ Π² Π³ΠΎΡ€ΠΎΠ΄Π΅ Π‘Π°Π½ΠΊΡ‚-ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³.
ΠšΠ°Ρ‚Ρ ΠΆΠΈΠ²Π΅Ρ‚ Π² Π³ΠΎΡ€ΠΎΠ΄Π΅ Π•ΠΊΠ°Ρ‚Π΅Ρ€ΠΈΠ½Π±ΡƒΡ€Π³.

ΠœΠ΅Ρ‚ΠΎΠ΄ iterrows() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСкс ΠΈ Π΅Π³ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ строку. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ значСниям столбцов Ρ‡Π΅Ρ€Π΅Π· ΠΈΠΌΠ΅Π½Π° ΠΈΠ»ΠΈ индСксы. Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ f-строки для форматирования Π²Ρ‹Π²ΠΎΠ΄Π°.

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ iterrows Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ pandas

ΠœΠ΅Ρ‚ΠΎΠ΄ iterrows() Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ pandas являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· способов ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ DataFrame с использованиСм Ρ†ΠΈΠΊΠ»Π° for. Он позволяСт Π½Π°ΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строкС Π² DataFrame, возвращая индСкс ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки ΠΈ Π΅Π΅ содСрТимоС Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Series. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ этот ΠΌΠ΅Ρ‚ΠΎΠ΄.

Бинтаксис:

for index, row in dataframe.iterrows():
    # Π’Π°Ρˆ ΠΊΠΎΠ΄ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… здСсь

Π“Π΄Π΅:

  • index - это индСкс ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки Π² DataFrame
  • row - это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Series, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ содСрТимоС ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки
  • dataframe - это имя DataFrame, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

Для Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ понимания Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρƒ нас Π΅ΡΡ‚ΡŒ DataFrame с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ студСнтах.

import pandas as pd

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ DataFrame
data = {'Name': ['John', 'Emma', 'Ryan'],
        'Age': [18, 19, 17],
        'Grade': ['A', 'B', 'A-']}

df = pd.DataFrame(data)

# Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ iterrows()
for index, row in df.iterrows():
    print(f"ИндСкс: {index}")
    print(f"Π‘Ρ‚Ρ€ΠΎΠΊΠ°:\n{row}\n")

Π’Ρ‹Π²ΠΎΠ΄:

    ИндСкс: 0
    Π‘Ρ‚Ρ€ΠΎΠΊΠ°:
    Name     John
    Age        18
    Grade       A
    Name: 0, dtype: object

    ИндСкс: 1
    Π‘Ρ‚Ρ€ΠΎΠΊΠ°:
    Name     Emma
    Age        19
    Grade       B
    Name: 1, dtype: object

    ИндСкс: 2
    Π‘Ρ‚Ρ€ΠΎΠΊΠ°:
    Name     Ryan
    Age        17
    Grade      A-
    Name: 2, dtype: object
    

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π²Ρ‹ΡˆΠ΅, Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ индСкс строки ΠΈ содСрТимоС этой строки Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Series. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ значСниям, ΠΎΠ±Ρ€Π°Ρ‰Π°ΡΡΡŒ ΠΊ ΠΈΡ… ΠΈΠΌΠ΅Π½Π°ΠΌ ΠΈΠ»ΠΈ индСксам. НапримСр, row['Name'] даст Π½Π°ΠΌ имя студСнта Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ строкС.

Π’Π°ΠΆΠ½ΠΎΠ΅ Π·Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅:

Π₯отя ΠΌΠ΅Ρ‚ΠΎΠ΄ iterrows() являСтся ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ способом для ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ строкам DataFrame, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ, особСнно ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большими Π½Π°Π±ΠΎΡ€Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ выполняСт мноТСство ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² Ρ†ΠΈΠΊΠ»Π΅.

Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с большими Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈΠ»ΠΈ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ максимально ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ вашСго ΠΊΠΎΠ΄Π°, рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ iteritems() ΠΈΠ»ΠΈ itertuples(), Π² зависимости ΠΎΡ‚ вашСй ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅:

ΠœΠ΅Ρ‚ΠΎΠ΄ iterrows() Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ pandas прСдоставляСт ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ способ для ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ строкам DataFrame. Он Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСкс ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки ΠΈ содСрТимоС строки Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Series. Однако, ΠΈΠ·-Π·Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ, рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ с ΠΎΡΡ‚ΠΎΡ€ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большими Π½Π°Π±ΠΎΡ€Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

ΠžΡΠ½ΠΎΠ²Ρ‹ Pandas Python | Series, DataFrame И Анализ Π”Π°Π½Π½Ρ‹Ρ…

Π€ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ… Π² Pandas | Анатолий ΠšΠ°Ρ€ΠΏΠΎΠ² | karpov.courses

Как ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с DataFrame Π² Pandas / Data Science

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

πŸΌπŸ”Ž Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ pandas iterrows