Вы можете использовать Series.str.contains
+ np.where
:
df["maincategory"]=np.where(df['name'].str.contains('pharma'),'pharma','not pharma')
Вот пример:
df=pd.DataFrame({'name':['(pharma)abdc','a12dff','pharma 1234']})
print(df)
name
0 (pharma)abdc
1 a12dff
2 pharma 1234
df["maincategory"]=np.where(df['name'].str.contains('pharma'),'pharma','not pharma')
print(df)
name maincategory
0 (pharma)abdc pharma
1 a12dff not pharma
2 pharma 1234 pharma