πŸ”‘ Как ΠΏΡ€ΠΎΠΉΡ‚ΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠΌ ΠΏΠΎ строкам pandas: ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ Π³Π°ΠΉΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠΌ ΠΏΠΎ строкам Π² pandas, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ iterrows(). Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:


import pandas as pd

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ DataFrame
data = {'Имя': ['Анна', 'Иван', 'ΠœΠ°Ρ€ΠΈΡ'],
        'Возраст': [25, 18, 30],
        'Π“ΠΎΡ€ΠΎΠ΄': ['Москва', 'Π‘Π°Π½ΠΊΡ‚-ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³', 'Казань']}

df = pd.DataFrame(data)

# Π¦ΠΈΠΊΠ» ΠΏΠΎ строкам
for index, row in df.iterrows():
    print(f"ИндСкс: {index}, Имя: {row['Имя']}, Возраст: {row['Возраст']}, Π“ΠΎΡ€ΠΎΠ΄: {row['Π“ΠΎΡ€ΠΎΠ΄']}")

    

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

Как ΠΏΡ€ΠΎΠΉΡ‚ΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠΌ ΠΏΠΎ строкам pandas

Π”ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ Π² эту ΡΡ‚Π°Ρ‚ΡŒΡŽ, ΠΏΠΎΡΠ²ΡΡ‰Π΅Π½Π½ΡƒΡŽ ΠΏΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΡŽ Ρ†ΠΈΠΊΠ»ΠΎΠΌ ΠΏΠΎ строкам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² pandas. Π’ этом руководствС ΠΌΡ‹ рассмотрим Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ способы ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² DataFrame с использованиСм Ρ†ΠΈΠΊΠ»ΠΎΠ². Π”Π°Π²Π°ΠΉΡ‚Π΅ Π½Π°Ρ‡Π½Π΅ΠΌ!

1. ИспользованиС Ρ†ΠΈΠΊΠ»Π° for

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ способ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ рассмотрим, - это использованиС Ρ†ΠΈΠΊΠ»Π° for. Π¦ΠΈΠΊΠ» for позволяСт Π½Π°ΠΌ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строкС DataFrame ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.


    import pandas as pd
    
    # Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ DataFrame
    data = {'Name': ['John', 'Emma', 'Alex'],
            'Age': [25, 28, 30],
            'City': ['New York', 'London', 'Paris']}
    df = pd.DataFrame(data)
    
    # Π˜Ρ‚Π΅Ρ€Π°Ρ†ΠΈΡ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строкС
    for index, row in df.iterrows():
        print(row['Name'], row['Age'], row['City'])
    

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм DataFrame с ΠΈΠΌΠ΅Π½Π΅ΠΌ df ΠΈ итСрируСмся ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строкС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° iterrows(). Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ значСния столбцов 'Name', 'Age' ΠΈ 'City' для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки.

2. ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° itertuples()

Π‘ΠΎΠ»Π΅Π΅ эффСктивный способ прохоТдСния ΠΏΠΎ строкам DataFrame - это использованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° itertuples(). Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ, содСрТащиС значСния ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки.


    import pandas as pd
    
    # Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ DataFrame
    data = {'Name': ['John', 'Emma', 'Alex'],
            'Age': [25, 28, 30],
            'City': ['New York', 'London', 'Paris']}
    df = pd.DataFrame(data)
    
    # Π˜Ρ‚Π΅Ρ€Π°Ρ†ΠΈΡ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строкС
    for row in df.itertuples():
        print(row.Name, row.Age, row.City)
    

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ создаСм DataFrame с ΠΈΠΌΠ΅Π½Π΅ΠΌ df ΠΈ итСрируСмся ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строкС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° itertuples(). Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ значСния столбцов 'Name', 'Age' ΠΈ 'City' для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки.

3. ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° apply()

ΠœΠ΅Ρ‚ΠΎΠ΄ apply() позволяСт ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строкС DataFrame. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° трСбуСтся Π±ΠΎΠ»Π΅Π΅ слоТная Π»ΠΎΠ³ΠΈΠΊΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ….


    import pandas as pd
    
    # Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ DataFrame
    data = {'Name': ['John', 'Emma', 'Alex'],
            'Age': [25, 28, 30],
            'City': ['New York', 'London', 'Paris']}
    df = pd.DataFrame(data)
    
    # ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ
    def process_row(row):
        # Π’Π°Ρˆ ΠΊΠΎΠ΄ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки
        return row['Name'] + ', ' + str(row['Age']) + ', ' + row['City']
    
    # ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки
    df['ProcessedData'] = df.apply(process_row, axis=1)    
    

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ с ΠΈΠΌΠ΅Π½Π΅ΠΌ process_row(), которая ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ строку Π² DataFrame Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°. Π’Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠ°ΠΊ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ. ΠœΡ‹ примСняСм эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строкС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° apply() ΠΈ сохраняСм Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² Π½ΠΎΠ²ΠΎΠΌ столбцС 'ProcessedData'.

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

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ способы прохоТдСния ΠΏΠΎ строкам DataFrame Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ pandas. ΠœΡ‹ ознакомились с использованиСм Ρ†ΠΈΠΊΠ»Π° for, ΠΌΠ΅Ρ‚ΠΎΠ΄Π° itertuples() ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° apply(). ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· этих способов ΠΈΠΌΠ΅Π΅Ρ‚ свои особСнности ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован Π² зависимости ΠΎΡ‚ Π²Π°ΡˆΠΈΡ… потрСбностСй ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠΉ.

НадСюсь, этот ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Π±Ρ‹Π» ΠΏΠΎΠ»Π΅Π·Π΅Π½ для вас! Π£Π΄Π°Ρ‡ΠΈ Π² Ρ€Π°Π±ΠΎΡ‚Π΅ с pandas!

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

25 Π¦ΠΈΠΊΠ» for. ΠžΠ±Ρ…ΠΎΠ΄ списков ΠΈ строк Python

Python с нуля. Π£Ρ€ΠΎΠΊ 4 | Π¦ΠΈΠΊΠ»Ρ‹ (for, while)

Pandas Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ β„–3. ΠžΡ‚Π±ΠΎΡ€ строк ΠΈ столбцов, Π Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ, Π˜ΠΌΠΏΠΎΡ€Ρ‚ CSV

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

Как Π»Π΅Π³ΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Π² pandas? πŸ”„

πŸ”‘ Как ΠΏΡ€ΠΎΠΉΡ‚ΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠΌ ΠΏΠΎ строкам pandas: ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ Π³Π°ΠΉΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ