python:如何从字符串中提取数字?

2024-10-01 07:34:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据帧,我只想从字符串中提取数字,并指定另一个新行

数据帧:

 type
gp250,sp280

dataframe的预期结果:

type   price
gp      25
sp      280

Tags: 数据字符串dataframetype数字pricespgp
2条回答

可以使用正则表达式提取字符串的连续数字,然后explode将结果转换为多行

import re
df["type"].apply(lambda x: re.findall("([0-9]+)", x)).explode()

假设您总是使用非数字字符后跟数字的模式,您可以首先将splitexplode连接到单独的行中,然后使用.str.extract将非数字模式(\D*)和数字(\d*)提取到不同的列中:

df['type'].str.split(',').explode().str.extract('(?P<type>\D*)(?P<price>\d*)', expand=True)
  type price
0   gp   250
0   sp   280

相关问题 更多 >