如何让python识别一个单词并将其分离到一个新列中



我想知道python是否有办法识别每个记录的颜色,并将它们分隔成一个单独的列。

也就是说,我们有以下数据:

ID  CODE        DESCRIPTION                     PRICE
1   85473254        Mountain jacket blue        30,99
2   54123654        Boots pink                  23.45
3   45236574        Buff sky blue               20.50
4   12547835        All set mountain black      90.99

我想得到以下内容:

ID  CODE            DESCRIPTION             COLOR       PRICE
1   85473254        Mountain jacket         Blue        30,99
2   54123654        Boots                   Pink        23.45
3   45236574        Buff                   Sky blue     20.50
4   12547835        All set mountain        Black       90.99

也许有什么方法可以用颜色数据集训练python,让它识别并分离每个注册表的每种颜色?

谢谢你的帮助。

您可以维护一个所有可能颜色的列表,然后形成一个regex替换。然后,使用str.extract查找每个描述中的颜色。

colors = ['sky blue', 'pink', 'blue', 'black']
regex = r'b(' + '|'.join(colors) + r')$'
df["COLOR"] = df["DESCRIPTION"].str.extract(regex, flags=re.I)

最新更新