Pandas:如何从字符串中删除特定字符
您可以使用以下方法从 pandas DataFrame 的列中的字符串中删除特定字符:
方法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 )
以下示例展示了如何在实践中使用以下 pandas DataFrame 的每种方法:
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:从字符串中删除特定字符
我们可以使用以下语法从team列中的每个字符串中删除“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:从字符串中删除所有字母
我们可以使用以下语法删除team列中每个字符串中的所有字母:
#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:从字符串中删除所有数字
我们可以使用以下语法从team列中的每个字符串中删除所有数字:
#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 中执行其他常见任务:
如何在 Pandas 中用零替换 NaN 值
如何在 Pandas 中用 NaN 替换空字符串
如何根据Pandas中的条件替换列中的值