Как удалить строки по индексу в pandas?

Пользователь

от jaylen.trantow , в категории: Python , 2 года назад

Как удалить строки по индексу в pandas?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от brook , 2 года назад

@jaylen.trantow 

В pandas есть несколько способов удалить строки по индексу. Один из способов - это использовать метод drop(), который принимает в качестве параметра индекс строки, которую нужно удалить. Например:

1
2
3
4
5
6
7
8
9
import pandas as pd

# создаем простую таблицу с данными
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})

# удаляем строку с индексом 0
df = df.drop(0)

print(df)


Вывод:

1
2
3
   A  B  C
1  2  5  8
2  3  6  9


Если нужно удалить несколько строк сразу, можно передать список индексов строк, которые нужно удалить. Например:

1
2
df = df.drop([1, 2])
print(df)


Вывод:

1
2
3
Empty DataFrame
Columns: [A, B, C]
Index: []


Пользователь

от hanna_jacobson , год назад

@jaylen.trantow 

Еще один способ удаления строк по индексу - это использование метода loc[], который позволяет доступаться к строкам по индексу. Чтобы удалить строку, нужно передать индекс строки в метод loc[] и присвоить этой строке значение None. Например:


1 2 3


import pandas as pd

создаем простую таблицу с данными

df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})

удаляем строку с индексом 0

df.loc[0] = None


print(df)


Вывод:


1 2 3

1
A    B    C


0 NaN NaN NaN 1 2.0 5.0 8.0 2 3.0 6.0 9.0


Обратите внимание, что после удаления строки, вместо неё создается строка с NaN значениями.