从righ中提取精确子串的矢量化级数法

2024-10-01 15:33:00 发布

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

我需要去掉单位的前缀,如下所示:

系列

units = pd.Series(['msec','mg','ml','mmol', 'mdmg'])

结果:

clean_units = pd.Series(['sec','g','l','mol','dmg'])

我试过使用units.str.lstrip('m'),但这对“mmol”不起作用,因为它同时剥离了两个“m”。 我也试过units.str.replace(r'^m.*$',''),但它用空字符串替换了整个单词“mmol”

如何以矢量化的方式剥离左侧的“精确”子字符串


Tags: 字符串clean单位secmlseriespdunits
1条回答
网友
1楼 · 发布于 2024-10-01 15:33:00

您可以将str.replace与regex ^m{1}一起使用,只替换第一个m一次:

units.str.replace('^m{1}', '', regex=True)

0    sec
1      g
2      l
3    mol
dtype: object

只需删去第一个字母,但其安全性和通用性较差:

units.str[1:]

0    sec
1      g
2      l
3    mol
dtype: object

相关问题 更多 >

    热门问题