我有以下熊猫系列:
SC_S193_M7.CONTROLDAY10.EPI.P1_Stem
SC_S194_M7.CONTROLDAY10.EPI.P1_Goblet
SC_S102_M1.CONTROLDAY3.EPI2_Enterocyte
SC_S106_M1.CONTROLDAY3.EPI2_Goblet
我想使用regex来提取本系列中每行最后一个下划线之后的字符串。我能够想出与最后一个字符串匹配的regex,但请注意,如何在pandas系列方法中实现它。在
用于匹配模式并替换为第一个匹配组\1
:
SC_S\d{3}_M\d\.CONTROLDAY\d{1,2}\.EPI\d?(?:\.P\d_|_)
我尝试如下所示使用.replace(),但没有成功:
.replace('SC_S\d{3}_M\d\.CONTROLDAY\d{1,2}\.EPI\d?(?:\.P\d_|_)(\w+)')
你知道如何使用Pandas series方法提取下划线前的最后一个字符串,或者找到匹配的模式并用第一个组替换它吗?在
我认为您可以拆分它而不是使用RegEx:
或者最好使用
^{pr2}$rsplit(..., n=1)
:或者,您可以使用
.str.extract()
:另一个变体(假设
s
是您的系列),它应该是相关问题 更多 >
编程相关推荐