我想知道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)