Pandas:如何从列中删除特殊字符
您可以使用以下基本语法从 pandas DataFrame 的列中删除特殊字符:
df[' my_column '] = df[' my_column ']. str . replace (' \W ', '', regex= True )
此特定示例将从my_column中删除所有既不是字母也不是数字的字符。
以下示例展示了如何在实践中使用此语法。
示例:从 Pandas 的列中删除特殊字符
假设我们有以下 pandas DataFrame,其中包含有关各种篮球运动员的信息:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['Mavs$', 'Nets', 'Kings!!', 'Spurs%', '&Heat&'], ' points ': [12, 15, 22, 29, 24]}) #view DataFrame print (df) team points 0 Mavs$ 12 1 Nets 15 2 Kings!! 22 3 Spurs% 29 4 &Heat& 24
假设我们要从团队列值中删除所有特殊字符。
我们可以使用以下语法来做到这一点:
#remove special characters from team column df[' team '] = df[' team ']. str . replace (' \W ', '', regex= True ) #view updated DataFrame print (df) team points 0 Mavs 12 1 Nets 15 2 Kings 22 3 Spurs 29 4 Heat 24
请注意,所有特殊字符均已从团队列值中删除。
注意:正则表达式\W用于搜索所有非单词字符,即既不是字母也不是数字的字符。
在这个例子中,我们将每个非单词字符替换为空值,这相当于删除非单词字符。
其他资源
以下教程解释了如何在 pandas 中执行其他常见任务:
如何在 Pandas 中用零替换 NaN 值
如何在 Pandas 中用 NaN 替换空字符串
如何根据Pandas中的条件替换列中的值