我有一个数据帧:大熊猫据帧返回第一个词串
df = pd.DataFrame({'id' : ['abarth 1.4 a','abarth 1 a','land rover 1.3 r','land rover 2',
'land rover 5 g','mazda 4.55 bl'],
'series': ['a','a','r','','g', 'bl'] })
我想从相应的ID删除“系列”字符串,所以最终的结果应该是:
最终的结果应该是'id': ['abarth 1.4','abarth 1','land rover 1.3','land rover 2','land rover 5', 'mazda 4.55']
目前我使用df.apply:
df.id = df.apply(lambda x: x['id'].replace(x['series'], ''), axis =1)
但这删除字符串的所有实例,甚至换句话说,就像这样: 'id': ['brth 1.4','brth 1','land ove 1.3','land rover 2','land rover 5', 'mazda 4.55']
我应该以某种方式混合和匹配的正则表达式里面df.apply变量,像这样?
df.id = df.apply(lambda x: x['id'].replace(r'\b' + x['series'], ''), axis =1)
OP需要id'列的'第一个字。 – Parfait