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中的条件替换列中的值

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注