Как удалить строку с определенным значением pandas

Pandas: как удалить строки, содержащие определенную строку

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

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

Пример 1. Удаление строк, содержащих определенную строку

В следующем коде показано, как удалить все строки в DataFrame, содержащие «A» в столбце команды:

Пример 2. Удаление строк, содержащих строку в списке

В следующем коде показано, как удалить все строки в DataFrame, содержащие «A» или «B» в столбце команды:

Пример 3. Удаление строк, содержащих неполную строку

В предыдущих примерах мы отбрасывали строки на основе строк, которые точно соответствовали одной или нескольким строкам.

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

Как из Pandas Dataframe удалить строку?

Pandas представляет нам отличные инструменты для обработки данных, в том числе для удаления той информации, которая нам не нужна. В этой статье мы рассмотрим различные способы удаления строк из Dataframe Pandas.

Как из Pandas удалить строку?

В Pandas для удаления строк, а также столбцов используется метод drop. Его синтаксис следующий (обратите внимание, что необязательно использовать все параметры, можно только те, которые необходимы нам):

drop(labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors=’raise’), где:

  • labels – номера или названия столбцов для удаления
  • axis – значение 0, если вы хотите удалить строки, либо 1, если планируете удалять столбцы
  • index – определяет, какие строки надо удалить
  • columns – определяет, какие столбцы надо удалить
  • inplace – изменяет оригинальный Dataframe, если параметр равен True
  • errors – игнорируются ошибки, если параметр задан как ignore

Способ 1. Удаление строки в Pandas по ее индексу

Для каждой строки в Dataframe Pandas присваивает индекс, обычно это число. В нашем учебном Dataframe, к примеру, у Москвы индекс 0, а у Калининграда 4. Давайте уберем запись с Владивостоком:

Как из Pandas удалить строку?

Способ 2. Удаление строки в Pandas по ее содержанию

Предположим, нам надо убрать строку с названием города «Казань», но мы не знаем его индекса и хотим ее удалить по названию. Для этого мы должны сначала изменить столбец с индексами и вместо цифровых значений задать данные из столбца «Город»:

Как из Pandas удалить строку?

Способ 3. Удаление строки в Pandas по условию

При помощи метода loc мы можем удалять строки по условию, к примеру мы хотим убрать из Dataframe те города, у которых площадь меньше 1 000 км2.

Так как мы будем применять математические условия, то сначала столбец «Площадь» мы должны перевести в формат int64:

Как из Pandas удалить строку?

Спасибо за внимание. Дочитавшим до конца – традиционный бонус, наш ноутбук по этой статье.

pandas.DataFrame.drop#

Remove rows or columns by specifying label names and corresponding axis, or by specifying directly index or column names. When using a multi-index, labels on different levels can be removed by specifying the level. See the user guide <advanced.shown_levels> for more information about the now unused levels.

Parameters labels single label or list-like

Index or column labels to drop. A tuple will be used as a single label and not treated as a list-like.

Whether to drop labels from the index (0 or ‘index’) or columns (1 or ‘columns’).

index single label or list-like

Alternative to specifying axis ( labels, axis=0 is equivalent to index=labels ).

columns single label or list-like

Alternative to specifying axis ( labels, axis=1 is equivalent to columns=labels ).

level int or level name, optional

For MultiIndex, level from which the labels will be removed.

inplace bool, default False

If False, return a copy. Otherwise, do operation inplace and return None.

errors , default ‘raise’

If ‘ignore’, suppress error and only existing labels are dropped.

Returns DataFrame or None

DataFrame without the removed index or column labels or None if inplace=True .

If any of the labels is not found in the selected axis.

Label-location based indexer for selection by label.

Return DataFrame with labels on given axis omitted where (all or any) data are missing.

Return DataFrame with duplicate rows removed, optionally only considering certain columns.

Drop or delete the row in python pandas with conditions

In this tutorial we will learn how to drop or delete the row in python pandas by index, delete row by condition in python pandas and drop rows by position. Dropping a row in pandas is achieved by using .drop() function. Lets see example of each.

  • Drop Rows with Duplicate in pandas.
  • Delete or Drop rows with condition in python pandas using drop() function.
  • Drop rows by index / position in pandas.
  • Drop NA rows or missing rows in pandas python.
Syntax of drop() function in pandas :
  • labels: String or list of strings referring row.
  • axis: int or string value, 0 ‘index’ for Rows and 1 ‘columns’ for Columns.
  • index or columns: Single label or list. index or columns are an alternative to axis and cannot be used together.
  • level: Used to specify level, in case data frame is having multiple level index.
  • inplace: Makes changes in original Data Frame if True.
  • errors: Ignores error if any value from the list doesn’t exists and drops rest of the values when errors = ‘ignore’
Create Dataframe:

the dataframe will be

Drop rows in pandas python drop() 1

Simply drop a row or observation:

Dropping the second and third row of a dataframe is achieved as follows

The above code will drop the second and third row.
0 – represents 1st row
1- represnts 2nd row and so on. So the resultant dataframe will be

Drop rows in pandas python drop() 2

Drop a row or observation by condition:

we can drop a row when it satisfies a specific condition

The above code takes up all the names except Alisa, thereby dropping the row with name ‘Alisa’. So the resultant dataframe will be

Drop rows in pandas python drop() 3

Drop a row or observation by index:

We can drop a row by index as shown below

The above code drops the row with index number 2. So the resultant dataframe will be

Drop rows in pandas python drop() 4

Drop the row by position:

Now let’s drop the bottom 3 rows of a dataframe as shown below

The above code selects all the rows except bottom 3 rows, there by dropping bottom 3 rows, so the resultant dataframe will be

Drop rows in pandas python drop() 5

Drop Duplicate rows of the dataframe in pandas

Drop duplicates in pandas python 1

now lets simply drop the duplicate rows in pandas as shown below

In the above example first occurrence of the duplicate row is kept and subsequent duplicate occurrence will be deleted, so the output will be

Drop duplicates in pandas python 7

For further detail on drop duplicates one can refer our page on Drop duplicate rows in pandas python drop_duplicates()

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *