Pandas Python,如何搜索列以检查它是否包含某个字符串值,以便 returns 新列中的值

Pandas Python, how to search a column to check if it contains a certain string value so it returns a value in a new column

我在 python 中有一个不同产品的数据集。列 = 产品名称;成本、尺寸等:在 ProductName 列中包含颜色,例如玩具车(绿色)。

我想根据 ProductName 列中的颜色创建一个新列,它将 return 一个颜色 ID 编号。

Prod Name      | Colour ID
Toy Car(Green) |     3

假设您有一个将产品颜色名称映射到特定编号的字典。

my_dict = {"Green": 3, "Blue": 2, "Red": 1}

因此,以下代码必须为您将产品名称转换为数字:

def convert_color_to_number(product_name):
    for color in my_dict.keys():
        if color in product_name:
            return my_dict[color]
    return 0

df[["Colour ID"] = df["Prod Name"].apply(lambda x: convert_color_to_number(x))