2024-10-01 07:34:51 发布
网友
我有一个数据帧,我只想从字符串中提取数字,并指定另一个新行
数据帧:
type gp250,sp280
dataframe的预期结果:
type price gp 25 sp 280
可以使用正则表达式提取字符串的连续数字,然后explode将结果转换为多行
explode
import re df["type"].apply(lambda x: re.findall("([0-9]+)", x)).explode()
假设您总是使用非数字字符后跟数字的模式,您可以首先将split和explode连接到单独的行中,然后使用.str.extract将非数字模式(\D*)和数字(\d*)提取到不同的列中:
split
.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
可以使用正则表达式提取字符串的连续数字,然后
explode
将结果转换为多行假设您总是使用非数字字符后跟数字的模式,您可以首先将
split
和explode
连接到单独的行中,然后使用.str.extract
将非数字模式(\D*
)和数字(\d*
)提取到不同的列中:相关问题 更多 >
编程相关推荐