Как удалить строки по индексу в Pandas (с примерами)


Вы можете использовать следующий синтаксис, чтобы удалить одну строку из pandas DataFrame по номеру индекса:

#drop first row from DataFrame
df = df.drop (index= 0 )

И вы можете использовать следующий синтаксис, чтобы удалить несколько строк из pandas DataFrame по номерам индексов:

#drop first, second, and fourth row from DataFrame
df = df.drop (index=[ 0 , 1 , 3 ])

Если ваш DataFrame имеет строки в качестве значений индекса, вы можете просто передать имена в виде строк для удаления:

df = df.drop (index=['first', 'second', 'third'])

В следующих примерах показано, как на практике удалять строки по индексу.

Пример 1. Удаление одной строки по индексу

В следующем коде показано, как удалить вторую строку в кадре данных pandas:

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['Mavs', 'Lakers', 'Spurs', 'Cavs'],
 'first': ['Dirk', 'Kobe', 'Tim', 'Lebron'],
 'last': ['Nowitzki', 'Bryant', 'Duncan', 'James'],
 'points': [26, 31, 22, 29]})

#view DataFrame
df

 team first last  points
0 Mavs Dirk Nowitzki 26
1 Lakers Kobe Bryant  31
2 Spurs Tim Duncan  22
3 Cavs Lebron James  29

#drop second row from DataFrame
df = df.drop (index= 1 ) 

#view resulting dataFrame
df

 team first last points
0 Mavs Dirk Nowitzki 26
2 Spurs Tim Duncan 22
3 Cavs Lebron James 29

Пример 2. Удаление нескольких строк по индексу

Следующий код показывает, как удалить несколько строк в pandas DataFrame по индексу:

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['Mavs', 'Lakers', 'Spurs', 'Cavs'],
 'first': ['Dirk', 'Kobe', 'Tim', 'Lebron'],
 'last': ['Nowitzki', 'Bryant', 'Duncan', 'James'],
 'points': [26, 31, 22, 29]})

#view DataFrame
df

 team first last  points
0 Mavs Dirk Nowitzki 26
1 Lakers Kobe Bryant  31
2 Spurs Tim Duncan  22
3 Cavs Lebron James  29

#drop first, second, and fourth row from DataFrame
df = df.drop (index=[ 0 , 1, 3 ]) 

#view resulting dataFrame
df

 team first last points
2 Spurs Tim Duncan 22

Пример 3: удаление строк, когда индекс является строкой

В следующем коде показано, как удалять строки из кадра данных pandas по индексу, когда индекс представляет собой строку, а не число:

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['Mavs', 'Lakers', 'Spurs', 'Cavs'],
 'last': ['Nowitzki', 'Bryant', 'Duncan', 'James'],
 'last': ['Nowitzki', 'Bryant', 'Duncan', 'James'],
 'points': [26, 31, 22, 29]},
 index=['A', 'B', 'C', 'D'])

#view DataFrame
df
 team first last  points
A Mavs Dirk Nowitzki 26
B Lakers Kobe Bryant  31
C Spurs Tim Duncan  22
D Cavs Lebron James  29

#remove rows with index values 'A' and 'C'
df = df.drop (index=['A', 'C'])

#view resulting DataFrame
df

team first last points
B Lakers Kobe Bryant 31
D Cavs Lebron James 29

Дополнительные ресурсы

Как удалить столбцы по индексу в Pandas
Pandas: как удалить строки, содержащие определенную строку
Pandas: как удалить повторяющиеся строки

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.