Удалить строку со значением python

Содержание
  1. 5 простых способов удалить символ из строки
  2. 1. Примитивный метод удаления символа из строки
  3. 2. Удаление элемента из строки с помощью метода replace()
  4. 3. Удаление символа с помощью срезов и конкатенации
  5. 4. Удаление символа с помощью метода join() и генераторов списков
  6. 5. Удаление символа из строки с помощью метода translate()
  7. Pandas: как удалить строки, содержащие определенное значение
  8. Пример 1. Удаление строк, содержащих определенное значение
  9. Пример 2. Удаление строк, содержащих значения в списке
  10. Пример 3. Удаление строк, содержащих определенные значения в нескольких столбцах
  11. Pandas: как удалить строки, содержащие определенную строку
  12. Пример 1. Удаление строк, содержащих определенную строку
  13. Пример 2. Удаление строк, содержащих строку в списке
  14. Пример 3. Удаление строк, содержащих неполную строку
  15. Как удалить строки в Pandas DataFrame на основе условия
  16. Метод 1: удаление строк на основе одного условия
  17. Метод 2: удаление строк на основе нескольких условий
  18. Дополнительные ресурсы

5 простых способов удалить символ из строки

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

  • Примитивный метод.
  • Функция replace().
  • Срезы и конкатенация.
  • Метод join() и генератор списков.
  • Метод translate()

Важная деталь — строки в Python неизменяемы. Исходная строка останется нетронутой, а новую вернут методы, о которых написано выше.

Задачи по строкам и решения к ним у нас в телеграм канале PythonTurbo

1. Примитивный метод удаления символа из строки

Суть этого метода проста. Мы пишем цикл и создаем новую пустую строку. Цикл работает так: все символы кроме элемента с индексом n помещаются в новую строку. ( n — индекс элемента, который нам нужно удалить)

input_str = "pythonist" # Выводим в консоль исходную строку print ("Исходная строка: " + input_str) result_str = "" for i in range(0, len(input_str)): if i != 3: result_str = result_str + input_str[i] # Выводим в консоль строку после удаления i-го элемента print ("Строка после удаления i-го элемента: " + result_str)
Исходная строка: pythonist Строка после удаления i-го элемента: pytonist

2. Удаление элемента из строки с помощью метода replace()

str = "pythonist" print ("Исходная строка: " + str) res_str = str.replace('t', '') # Удаление всех 't' print("Строка после удаления всех символов t: " + res_str) # Удаление только первой t res_str = str.replace('t', '', 1) print ("Строка после удаления первого t: " + res_str)
Исходная строка: pythonist Строка после удаления всех символов t: pyhonis Строка после удаления первого t: pyhonist

Мини-задачка для вашей тренировки метода replace()

Читайте также:  Style file button css

«Напишите программу на Python для получения строки из заданной строки, в которой все вхождения первого символа заменены на ‘$’, кроме самого первого символа.»

Пример: print(change_char(‘restart’))
»»» resta$t

Решение задачки можно глянуть у нас в канале

3. Удаление символа с помощью срезов и конкатенации

str = "pythonist" print ("Исходная строка: " + str) # Удаляем элемент с индексом 3 # с помощью срезов и объединения res_str = str[:3] + str[4:] print ("Строка после удаления символа: " + res_str
Исходная строка: pythonist Строка после удаления символа: pytonist

4. Удаление символа с помощью метода join() и генераторов списков

Суть этого метода в том, чтобы конвертировать строку в эквивалентный список. После этого все элементы кроме того, который мы собираемся удалить, объединяются в строку.

str = "pythonist" print("Исходная строка: " + str) # Удаление элемента с индексом 2 # с помощью join() и генератора списков res_str = ''.join([str[i] for i in range(len(str)) if i != 2]) print("Строка после удаления символа: " + res_str)
Исходная строка: pythonist Строка после удаления символа: pyhonist

5. Удаление символа из строки с помощью метода translate()

str = 'pythonist123pythonist' print(str.translate())

Источник

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

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

#drop rows that contain specific 'value' in 'column_name' df = df[df.column_name != value ] 

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

#define values values = [value1, value2, value3, . ] #drop rows that contain any value in the list df = df[df.column_name.isin (values) == False ] 

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

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

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

import pandas as pd #create DataFrame df = pd.DataFrame() #view DataFrame df team name rebounds points 0 Mavs Dirk 11 26 1 Lakers Kobe 7 31 2 Spurs Tim 14 22 3 Cavs Lebron 7 29 #drop any rows that have 7 in the rebounds column df = df[df.rebounds != 7 ] #view resulting DataFrame df team name rebounds points 0 Mavs Dirk 11 26 2 Spurs Tim 14 22 

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

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

import pandas as pd #create DataFrame df = pd.DataFrame() #view DataFrame df team name rebounds points 0 Mavs Dirk 11 26 1 Lakers Kobe 7 31 2 Spurs Tim 14 22 3 Cavs Lebron 7 29 #define list of values values = [7, 11] #drop any rows that have 7 or 11 in the rebounds column df = df[df.rebounds.isin (values) == False ] #view resulting DataFrame df team name rebounds points 2 Spurs Tim 14 22 

Пример 3. Удаление строк, содержащих определенные значения в нескольких столбцах

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

import pandas as pd #create DataFrame df = pd.DataFrame() #view DataFrame df team name rebounds points 0 Mavs Dirk 11 26 1 Lakers Kobe 7 31 2 Spurs Tim 14 22 3 Cavs Lebron 7 29 #drop any rows that have 11 in the rebounds column or 31 in the points column df = df[(df.rebounds != 11 ) & (df.points != 31 )] #view resulting DataFrame df team name rebounds points 2 Spurs Tim 14 22 3 Cavs Lebron 7 29 

Источник

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

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

df[df["col"].str.contains("this string")== False ]**

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

import pandas as pd #create DataFrame df = pd.DataFrame() #view DataFrame df team conference points 0 A East 11 1 A East 8 2 A East 10 3 B West 6 4 B West 6 5 C East 5 

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

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

df[df["team"].str.contains("A")== False ] # team conference points #3 B West 6 #4 B West 6 #5 C East 5**

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

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

df[df["team"].str.contains("A|B")== False] # team conference points #5 C East 5**

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

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

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

#identify partial string to look for discard = ["Wes"] #drop rows that contain the partial string "Wes" in the conference column df[~df.conference.str.contains('|'.join(discard))] #team conference points #0 A East 11 #1 A East 8 #2 A East 10 #5 C East 5**

Вы можете найти больше руководств по pandas на этой странице .

Источник

Как удалить строки в Pandas DataFrame на основе условия

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

Метод 1: удаление строк на основе одного условия

Метод 2: удаление строк на основе нескольких условий

df = df[(df.col1 > 8) & (df.col2 != 'A')] 

Примечание.Мы также можем использовать функцию drop() для удаления строк из DataFrame, но эта функция оказалась намного медленнее, чем простое присвоение DataFrame отфильтрованной версии самого себя.

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

import pandas as pd #create DataFrame df = pd.DataFrame() #view DataFrame df team pos assists rebounds 0 A G 5 11 1 A G 7 8 2 A F 7 10 3 A F 9 6 4 B G 12 6 5 B G 9 5 6 B F 9 9 7 B F 4 12 

Метод 1: удаление строк на основе одного условия

В следующем коде показано, как удалять строки в DataFrame на основе одного условия:

#drop rows where value in 'assists' column is less than or equal to 8 df = df[df.assists > 8] #view updated DataFrame df team pos assists rebounds 3 A F 9 6 4 B G 12 6 5 B G 9 5 6 B F 9 9 

Любая строка, которая имела значение меньше или равное 8 в столбце «помощь», была удалена из DataFrame.

Метод 2: удаление строк на основе нескольких условий

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

#only keep rows where 'assists' is greater than 8 and rebounds is greater than 5 df = df[(df.assists > 8) & (df.rebounds > 5)] #view updated DataFrame df team pos assists rebounds 3 A F 9 6 4 B G 12 6 5 B G 9 5 6 B F 9 9 

Единственные строки, которые мы сохранили в DataFrame, были те, в которых значение помощи было больше 8, а значение подбора больше 5.

Обратите внимание, что мы также можем использовать | оператор для применения фильтра «или»:

#only keep rows where 'assists' is greater than 8 or rebounds is greater than 10 df = df[(df.assists > 8) | (df.rebounds > 10)] #view updated DataFrame df team pos assists rebounds 0 A G 5 11 3 A F 9 6 4 B G 12 6 5 B G 9 5 6 B F 9 9 7 B F 4 12 

Единственные строки, которые мы сохранили в DataFrame, были те, в которых значение помощи было больше 8 или значение подбора было больше 10.

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

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

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

Источник

Оцените статью