我想循环数据框的每一行,如果列和列表中的字符串之间存在匹配,我会在新列中添加一个元素。在此示例中,我想添加一个新列来对产品进行分类。因此,如果该列的一行与其中一个列表匹配,则类别可以是“饮料”或“食品”,如果没有匹配,则类别将为其他。
list_drinks={'Water','Juice','Tea'}
list_food={'Apple','Orange'}
data = {'Price': ['1', '5','3'], 'Product': ['Juice','book', Pen]}
for (i,j) in itertools.zip_longest(list_drinks,list_food):
for index in data.index:
if(j in data.loc[index,'product']):
data["Category"] = "Food"
elif(i in data.loc[index,'product']):
data["Category"] ="drinks"
else:
data["Category"]="Other"
输出将是:
Price Product Category
1 Juice drinks
5 book Other
3 Pen Other
我的问题主要是我不知道如何匹配列表和行之间的模式。我也尝试过: str.contains但没有成功。
精慕HU
凤凰求蛊
相关分类