Как заменить подстроку в значениях столбца?

#python #pandas

#python #панды

Вопрос:

У меня есть этот фрейм данных:

 feed
==========
garden_1
garden_2
equipment
device
 

Мне нужно заменить garden_* на total_* .

Как я могу это сделать?

Это то, что я пробовал?

 df["feed"] = np.where(("garden" in df.feed), "total", df.feed)
 

Ответ №1:

Используйте функцию dataframe.replace и используйте регулярное выражение для сопоставления строк.

Попробуйте этот код:

df = df['feed'].replace(to_replace ='garden_*', value = 'total_', regex = True) .

Ссылка:
pandas.DataFrame.replace()

Ответ №2:

Вы можете использовать np.where и str.contains для этого:

 df['feed'] = np.where(df['feed'].str.contains(r'garden',case=False),'total',df['feed'])
 

это даст вам то, что вам нужно.