Pandas: как удалить определенные символы из строк
Вы можете использовать следующие методы для удаления определенных символов из строк в столбце в DataFrame pandas:
Способ 1. Удаление определенных символов из строк
df[' my_column '] = df[' my_column ']. str . replace (' this_string ', '')
Способ 2: удалить все буквы из строк
df[' my_column '] = df[' my_column ']. str . replace (' \D ', '', regex= True )
Способ 3: удалить все числа из строк
df[' my_column '] = df[' my_column ']. str . replace (' \d+ ', '', regex= True )
В следующих примерах показано, как использовать каждый метод на практике со следующим DataFrame pandas:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['Mavs2', 'Nets44', 'Kings33', 'Cavs90', 'Heat576'], ' points ': [12, 15, 22, 29, 24]}) #view DataFrame print (df) team points 0 Mavs2 12 1 Nets44 15 2 Kings33 22 3 Cavs90 29 4 Heat576 24
Пример 1. Удаление определенных символов из строк
Мы можем использовать следующий синтаксис, чтобы удалить «avs» из каждой строки в столбце команды :
#remove 'avs' from strings in team column df[' team '] = df[' team ']. str . replace (' avs ', '') #view updated DataFrame print (df) team points 0 M2 12 1 Nets44 15 2 Kings33 22 3 C90 29 4 Heat576 24
Обратите внимание, что слово «avs» было удалено из строк, содержащих «Mavs» и «Cavs», в столбце «Команда ».
Пример 2. Удаление всех букв из строк
Мы можем использовать следующий синтаксис, чтобы удалить все буквы из каждой строки в столбце команды :
#remove letters from strings in team column df[' team '] = df[' team ']. str . replace (' \D ', '', regex= True ) #view updated DataFrame print (df) team points 0 2 12 1 44 15 2 33 22 3 90 29 4,576 24
Обратите внимание, что все буквы были удалены из каждой строки в столбце команды .
Остаются только числовые значения.
Пример 3. Удаление всех чисел из строк
Мы можем использовать следующий синтаксис, чтобы удалить все числа из каждой строки в столбце команды :
#remove numbers from strings in team column df[' team '] = df[' team ']. str . replace (' \d+ ', '', regex= True ) #view updated DataFrame print (df) team points 0 Mavs 12 1 Nets 15 2 Kings 22 3 Cavs 29 4 Heat 24
Обратите внимание, что все числа были удалены из каждой строки в столбце команды .
Остались только буквы.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в pandas:
Как заменить значения NaN нулями в Pandas
Как заменить пустые строки NaN в Pandas
Как заменить значения в столбце по условию в Pandas