我想知道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,这样它就可以识别和分离每个注册表中的每个颜色?
谢谢你的帮助。
发布于 2022-02-08 18:16:23
您可以维护所有可能的颜色的列表,然后形成该颜色的正则变换。然后,使用str.extract
查找每个描述中的颜色。
colors = ['sky blue', 'pink', 'blue', 'black']
regex = r'\b(' + '|'.join(colors) + r')$'
df["COLOR"] = df["DESCRIPTION"].str.extract(regex, flags=re.I)
https://stackoverflow.com/questions/71043195
复制