У меня есть dataframe:панды dataframe вернуть первое слово в строке для столбца
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': ['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