πŸ” Как Π½Π°ΠΉΡ‚ΠΈ индСкс строки Π² Pandas: простыС способы ΠΈ совСты

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ индСкс строки Π² Pandas, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ index. ΠŸΡ€ΠΈΠ²Π΅Π΄Ρƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°:

import pandas as pd

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ DataFrame для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°
data = {'Name': ['John', 'Jane', 'Alex', 'Sarah'],
        'Age': [25, 30, 28, 35],
        'City': ['New York', 'London', 'Paris', 'Sydney']}

df = pd.DataFrame(data)

# Найти индСкс строки, Π³Π΄Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² столбцС 'Name' Ρ€Π°Π²Π½ΠΎ 'Alex'
index = df[df['Name'] == 'Alex'].index[0]
print(index)
    

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

Как Π½Π°ΠΉΡ‚ΠΈ индСкс строки Π² pandas

Π’ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ pandas для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… ΠΌΡ‹ часто сталкиваСмся с Π·Π°Π΄Π°Ρ‡Π΅ΠΉ поиска индСкса строки. ИндСкс строки являСтся ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅. Он ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΠΏΡ€ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ строками.

ΠœΠ΅Ρ‚ΠΎΠ΄ `index`

Один ΠΈΠ· способов Π½Π°ΠΉΡ‚ΠΈ индСкс строки Π² pandas - ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ `index`. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСкс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ вхоТдСния значСния Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅.


import pandas as pd

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

df = pd.DataFrame(data)

# НахоТдСниС индСкса строки ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ
index = df[df['Имя'] == 'Иван'].index[0]
print(index)
    

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ `df` с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Π° Π·Π°Ρ‚Π΅ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ "Имя" Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ индСкс строки, содСрТащСй Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ "Иван". Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ Π½Π° экран. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ индСкс `[0]`, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄ `index` Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ список индСксов, ΠΈ ΠΌΡ‹ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΠΌ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт.

ΠœΠ΅Ρ‚ΠΎΠ΄ `get_loc`

Π”Ρ€ΡƒΠ³ΠΎΠΉ способ Π½Π°ΠΉΡ‚ΠΈ индСкс строки - ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ `get_loc`. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСкс строки, Ссли Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ находится Π² индСксС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.


import pandas as pd

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

df = pd.DataFrame(data)
df.set_index('Имя', inplace=True)  # Установка ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ "Имя" Π² качСствС индСкса

# НахоТдСниС индСкса строки ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ
index = df.index.get_loc('ΠœΠ°Ρ€ΠΈΡ')
print(index)
    

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ устанавливаСм ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ "Имя" Π² качСствС индСкса с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° `set_index`. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ `get_loc`, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ индСкс строки с ΠΈΠΌΠ΅Π½Π΅ΠΌ "ΠœΠ°Ρ€ΠΈΡ". Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ Π½Π° экран.

ΠœΠ΅Ρ‚ΠΎΠ΄ `loc`

Π’Ρ€Π΅Ρ‚ΠΈΠΉ способ Π½Π°ΠΉΡ‚ΠΈ индСкс строки - ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ `loc`. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ позволяСт ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ строкам ΠΏΠΎ индСксу ΠΈΠ»ΠΈ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ Π½ΠΈΠΌΠΈ.


import pandas as pd

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

df = pd.DataFrame(data)
df.set_index('Имя', inplace=True)  # Установка ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ "Имя" Π² качСствС индСкса

# НахоТдСниС индСкса строки ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ
index = df.loc[df['Возраст'] == 30].index[0]
print(index)
    

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ устанавливаСм ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ "Имя" Π² качСствС индСкса, Π° Π·Π°Ρ‚Π΅ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° `loc` Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΠ΅ΠΌ строки ΠΏΠΎ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ ("Возраст" Ρ€Π°Π²Π΅Π½ 30). ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ индСкс ΠΏΠ΅Ρ€Π²ΠΎΠΉ строки, ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‰Π΅ΠΉ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ.

Π’Ρ‹Π²ΠΎΠ΄

Π’Ρ‹ Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ индСкс строки Π² pandas с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² `index`, `get_loc` ΠΈ `loc`. Π—Π½Π°Π½ΠΈΠ΅ этих ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ Π±ΠΎΠ»Π΅Π΅ эффСктивно Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ поиска ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ.

УспСшного использования pandas!

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

Pandas DataFrame index индСкс ΠΎΡ‚Π±ΠΎΡ€ строк ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π½Π° основС индСкса

β–Ί 4. Π˜ΠΠ”Π•ΠšΠ‘Π« строк ΠΈ столбцов | ΠšΡƒΡ€Ρ ΠΏΠΎ Pandas

Π£Ρ€ΠΎΠΊ 10 Π‘Ρ‚Ρ€ΠΎΠΊΠΈ: индСксы ΠΈ срСзы Python

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

πŸ”‘ Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΄Π°Ρ‚Π°Ρ„Ρ€Π΅ΠΉΠΌ pandas ΠΈΠ· списков: простая инструкция

πŸ” Как Π½Π°ΠΉΡ‚ΠΈ индСкс строки Π² Pandas: простыС способы ΠΈ совСты