如何在Python Pandas中移除字符串中的数字

  • Post category:Python

在Python Pandas中移除字符串中的数字,可以使用正则表达式(regular expression,简称regex)进行提取和替换操作。

具体步骤如下:

  1. 导入pandas库和re模块:
import pandas as pd
import re
  1. 创建一个包含字符串的Series或DataFrame:
data = pd.Series(['apple123', 'banana456', 'orange78', 'pear54321'])
  1. 使用re.sub()函数,利用正则表达式移除字符串中的数字:
data = data.apply(lambda x: re.sub(r'\d+', '', x))

其中,r’\d+’表示匹配字符串中的数字,apply()和lambda函数可以逐个元素进行操作。

  1. 输出结果:
print(data)

输出结果为:
0      apple
1     banana
2     orange
3        pear
dtype: object

下面是完整的代码及实例说明:

import pandas as pd
import re

# 创建一个包含字符串的Series
data = pd.Series(['apple123', 'banana456', 'orange78', 'pear54321'])

# 使用正则表达式移除字符串中的数字
data = data.apply(lambda x: re.sub(r'\d+', '', x))

# 输出结果
print(data)

输出结果为:

0      apple
1     banana
2     orange
3        pear
dtype: object

可以看到,数据Series中的数字已经被成功移除。需要注意的是,正则表达式可以根据具体情况进行修改,例如如果需要保留小数点、负号等符号需要在正则表达式中加入相应的符号匹配规则。