【发布时间】:2019-09-20 10:32:22
【问题描述】:
我有 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 的全部内容时,后者的值变为 "未知”。
【问题讨论】: