繁体   English   中英

我怎样才能让 python 识别一个词并将它分成一个新的列?

[英]How can I make python recognize a word and separate it into a new column?

我想知道是否有办法让 python 识别每条记录的 colors 并将它们分开到一个单独的列中。

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

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

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

谢谢你的帮助。

您可以维护所有可能的 colors 的列表,然后形成一个正则表达式交替。 然后,使用str.extract找到每个描述中的颜色。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM