πŸ’‘ Как ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ индСксный столбСц Π² pandas: ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ Π³Π°ΠΉΠ΄

Как ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ индСкс столбца Π² pandas?

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ индСкс ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ столбца Π² pandas, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ set_index(). Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ позволяСт Π²Π°ΠΌ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ имя столбца, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² качСствС Π½ΠΎΠ²ΠΎΠ³ΠΎ индСкса.

import pandas as pd

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ DataFrame
data = {'Name': ['John', 'Emily', 'Michael'],
        'Age': [25, 27, 30],
        'City': ['New York', 'London', 'Paris']}

df = pd.DataFrame(data)

# Установка столбца "Name" Π² качСствС индСкса
df.set_index('Name', inplace=True)

print(df)

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

         Age      City
Name                  
John      25  New York
Emily     27    London
Michael   30     Paris

Π’Π΅ΠΏΠ΅Ρ€ΡŒ столбСц "Name" стал Π½ΠΎΠ²Ρ‹ΠΌ индСксом DataFrame.

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

Как ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΠ½Π΄Π΅ΠΊΡΠ½ΡƒΡŽ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ Π² pandas

ИндСксная ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° Π² pandas - это столбСц, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки Π² DataFrame. Иногда Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΠ½Π΄Π΅ΠΊΡΠ½ΡƒΡŽ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ для Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим нСсколько способов измСнСния индСксной ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π² pandas, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°.

1. Установка ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ столбца Π² качСствС индСкса

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρƒ вас Π΅ΡΡ‚ΡŒ DataFrame с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ студСнтов ΠΈ ΠΈΡ… возрастами:


import pandas as pd

data = {'Name': ['АлСксСй', 'ΠœΠ°Ρ€ΠΈΡ', 'Иван'],
        'Age': [20, 19, 21]}

df = pd.DataFrame(data)
print(df)

    

Π’Ρ‹Π²ΠΎΠ΄:

        
          Name        Age
   0     АлСксСй     20
   1     ΠœΠ°Ρ€ΠΈΡ       19
   2     Иван        21
        
    

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ столбСц 'Name' Π² качСствС индСкса. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ set_index():


df = df.set_index('Name')
print(df)

    

Π’Ρ‹Π²ΠΎΠ΄:

        
                Age
Name                   
АлСксСй     20
ΠœΠ°Ρ€ΠΈΡ       19
Иван        21
        
    

Π’Π΅ΠΏΠ΅Ρ€ΡŒ столбСц 'Name' являСтся индСксной ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΎΠΉ, ΠΈ старый индСкс Π±Ρ‹Π» Π·Π°ΠΌΠ΅Π½Π΅Π½.

2. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ индСкса Π½Π° основС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… столбцов

Иногда Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ индСкс Π½Π° основС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… столбцов. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€:


df = df.set_index(['Name', 'Age'])
print(df)

    

Π’Ρ‹Π²ΠΎΠ΄:

        
                     Age
Name    Age           
АлСксСй 20        20
ΠœΠ°Ρ€ΠΈΡ   19        19
Иван    21        21
        
    

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΈΠ½Π΄Π΅ΠΊΡ, состоящий ΠΈΠ· столбцов 'Name' ΠΈ 'Age'.

3. Бброс индСкса

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΠ½Π΄Π΅ΠΊΡΠ½ΡƒΡŽ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ ΠΈ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ цСлочислСнныС индСксы, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ reset_index():


df = df.reset_index()
print(df)

    

Π’Ρ‹Π²ΠΎΠ΄:

        
     Name   Age
0  АлСксСй   20
1    ΠœΠ°Ρ€ΠΈΡ   19
2     Иван   21
        
    

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас снова Π΅ΡΡ‚ΡŒ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ цСлочислСнныС индСксы, ΠΈ индСксная ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° 'Name' ΡƒΠ΄Π°Π»Π΅Π½Π°.

4. Π—Π°ΠΌΠ΅Π½Π° значСния индСкса

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² индСксной ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ rename(). НапримСр, Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π·Π°ΠΌΠ΅Π½ΠΈΠΌ имя 'АлСксСй' Π½Π° 'АлСксандр':


df = df.rename(index={'АлСксСй': 'АлСксандр'})
print(df)

    

Π’Ρ‹Π²ΠΎΠ΄:

        
                Age
Name               
АлСксандр     20
ΠœΠ°Ρ€ΠΈΡ         19
Иван          21
        
    

Π’Π΅ΠΏΠ΅Ρ€ΡŒ имя 'АлСксСй' Π±Ρ‹Π»ΠΎ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΎ Π½Π° 'АлСксандр' Π² индСксС.

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

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли нСсколько способов измСнСния индСксной ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π² pandas. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ set_index(), reset_index() ΠΈ rename(), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ, ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΠ½Π΄Π΅ΠΊΡΠ½ΡƒΡŽ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ Π² DataFrame.

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

Python Pandas Tutorial (Part 3): Indexes - How to Set, Reset, and Use Indexes

How to remove or drop index from dataframe in python pandas ?

Remove index column on pandas - number column

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

πŸ’‘ Как ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ индСксный столбСц Π² pandas: ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ Π³Π°ΠΉΠ΄