πŸ”„ Как ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ порядок строк Π² pandas

Π’ pandas ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ порядок строк, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ `reindex` ΠΈΠ»ΠΈ `iloc`. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°:
  
  # ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° reindex
  df = df.reindex([2, 0, 1])

  # ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° iloc
  df = df.iloc[[2, 0, 1]]
  
  

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

Как ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ порядок строк Π² Pandas

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

1. ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° sort_values

ΠœΠ΅Ρ‚ΠΎΠ΄ sort_values Π² Pandas позволяСт ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ DataFrame ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ столбцу ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡ€Ρƒ столбцов. Для измСнСния порядка строк Π² DataFrame ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ.

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


import pandas as pd

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ DataFrame
df = pd.DataFrame({'Имя': ['АлСксСй', 'Борис', 'Π’ΠΈΠΊΡ‚ΠΎΡ€'],
                   'Возраст': [25, 30, 35],
                   'Π—Π°Ρ€ΠΏΠ»Π°Ρ‚Π°': [50000, 70000, 60000]})

# Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ DataFrame ΠΏΠΎ столбцу "Возраст" Π² порядкС убывания
df = df.sort_values('Возраст', ascending=False)

# Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌ отсортированный DataFrame
print(df)

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм DataFrame с трСмя столбцами: "Имя", "Возраст" ΠΈ "Π—Π°Ρ€ΠΏΠ»Π°Ρ‚Π°". Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ sort_values, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ DataFrame ΠΏΠΎ столбцу "Возраст" Π² порядкС убывания. И, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, ΠΌΡ‹ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ отсортированный DataFrame.

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

ΠœΠ΅Ρ‚ΠΎΠ΄ reindex позволяСт ΠΌΠ΅Π½ΡΡ‚ΡŒ порядок строк Π² DataFrame Π½Π° основС Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ индСкса. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ с Π½ΠΎΠ²Ρ‹ΠΌ индСксом, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ порядок строк Π² DataFrame.

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


import pandas as pd

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ DataFrame
df = pd.DataFrame({'Имя': ['АлСксСй', 'Борис', 'Π’ΠΈΠΊΡ‚ΠΎΡ€'],
                   'Возраст': [25, 30, 35],
                   'Π—Π°Ρ€ΠΏΠ»Π°Ρ‚Π°': [50000, 70000, 60000]})

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ индСкс для измСнСния порядка строк
new_index = [2, 0, 1]

# Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ reindex с Π½ΠΎΠ²Ρ‹ΠΌ индСксом
df = df.reindex(new_index)

# Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌ DataFrame с ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΌ порядком строк
print(df)

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм DataFrame с трСмя столбцами. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ создаСм Π½ΠΎΠ²Ρ‹ΠΉ индСкс, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π½ΠΎΠ²Ρ‹ΠΉ порядок строк. И, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ reindex, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ порядок строк Π² DataFrame с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½ΠΎΠ²ΠΎΠ³ΠΎ индСкса.

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

ΠœΠ΅Ρ‚ΠΎΠ΄ loc позволяСт Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ строки ΠΈ столбцы Π² DataFrame Π½Π° основС ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠΊ. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ с Π½ΠΎΠ²Ρ‹ΠΌ списком ΠΌΠ΅Ρ‚ΠΎΠΊ строк, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ порядок строк Π² DataFrame.

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


import pandas as pd

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ DataFrame
df = pd.DataFrame({'Имя': ['АлСксСй', 'Борис', 'Π’ΠΈΠΊΡ‚ΠΎΡ€'],
                   'Возраст': [25, 30, 35],
                   'Π—Π°Ρ€ΠΏΠ»Π°Ρ‚Π°': [50000, 70000, 60000]})

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ список ΠΌΠ΅Ρ‚ΠΎΠΊ строк для измСнСния порядка строк
new_labels = ['Π’ΠΈΠΊΡ‚ΠΎΡ€', 'АлСксСй', 'Борис']

# Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ loc с Π½ΠΎΠ²Ρ‹ΠΌ списком ΠΌΠ΅Ρ‚ΠΎΠΊ строк
df = df.loc[new_labels]

# Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌ DataFrame с ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΌ порядком строк
print(df)

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм DataFrame с трСмя столбцами. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ создаСм Π½ΠΎΠ²Ρ‹ΠΉ список ΠΌΠ΅Ρ‚ΠΎΠΊ строк, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π½ΠΎΠ²Ρ‹ΠΉ порядок строк. И, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ loc, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ порядок строк Π² DataFrame с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½ΠΎΠ²ΠΎΠ³ΠΎ списка ΠΌΠ΅Ρ‚ΠΎΠΊ строк.

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

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли Ρ‚Ρ€ΠΈ способа измСнСния порядка строк Π² Pandas: использованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° sort_values, ΠΌΠ΅Ρ‚ΠΎΠ΄Π° reindex ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° loc. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· этих ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² прСдоставляСт Ρ€Π°Π·Π½Ρ‹Π΅ возмоТности для измСнСния порядка строк Π² DataFrame. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚ΠΎΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для вашСй ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ.

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

Как ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ порядок столбцов Ρ„Π°ΠΉΠ»Π° Π² Python Pandas Dataframe?

Новый столбСц с порядком строк Π³Ρ€ΡƒΠΏΠΏ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ столбца Π² Python Pandas Dataframe?

Pandas Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ β„–4. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ со столбцами DataFrame

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

πŸ”„ Как ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ порядок строк Π² pandas

πŸ” Как Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ строки с пустыми значСниями Π² pandas? ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ Π³ΠΈΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…! πŸ“Š