我有 2 列;名称和品牌名称。第一列包含产品名称等值,而第二列是产品的品牌名称。在某些情况下,它们的名称相似——例如,可口可乐。
在上图中,您可以确切地看到我在说什么。我将留下一段代码用于测试目的:
data = [['Coca Cola', 'Coca Cola'], ['Coca Cola cherry', 'Coca Cola'], ['Coca Cola life', 'Coca Cola'], ['Coca Cola Life', 'Coca Cola']]
testdf = pd.DataFrame(data, columns = ['Name', 'BrandName'])
我要做的是将列BrandName中的每个值设置为“未知”,只要产品名称包含与品牌名称相同的单词。以上图为例。我只能使用以下代码将第一行的品牌名称设置为“未知”:
testdf["BrandName"] = np.where(testdf["Name"] == testdf["BrandName"], "Unknown", testdf["BrandName"])
但是,我还没有弄清楚如何以某种方式设置条件,因此当Name包含列BrandName的全部内容时,后者的值变为“未知”。
一只名叫tom的猫
萧十郎
相关分类