如何根据另一行中的关键字更新一行?

时间:2019-10-18 10:59:33

标签: python pandas dataframe jupyter-notebook

我想根据“名称”列中的单词更新一个名为“ maincategory”的列,即:如果名称名称列包含“ maincategory”列中的pharma update Pharmaceutical:

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以使用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