【发布时间】:2020-10-09 08:55:14
【问题描述】:
我正在处理具有以下格式的 shopping_cart 列的数据框: 元组的第一个元素是订购的商品,第二个元素是为此类商品订购的数量:例如:[('Candle Inferno', 1), ('iAssist Line', 2)] 暗示 'Candle Inferno'买了一次,“iAssist Line”买了两次。
[('Candle Inferno', 1), ('iAssist Line', 2)]
[('Olivia x460', 1), ('Candle Inferno', 1),('Alcon 10', 2)]
[('Lucent 330S', 1), ('pearTV', 1), ('Universe Note', 2), ('Olivia x460', 2)]
我有以下代码用于分隔项目和数量,例如:
item_1 qty_item_1 item_2 qty_item_2
Alcon 10 1 Candle Inferno 2
代码:
item_1=[]
item_2=[]
item_3=[]
import re
for i in range(0,1):
item1=str(list_of_items[i].split(',')[0].split(','))
item2=str(list_of_items[i].split(',')[2].split(','))
item3=str(list_of_items[i].split(',')[4].split(','))
item_1.append((re.sub(r'[^\w]',' ',item1).strip()))
item_2.append((re.sub(r'[^\w]',' ',item2).strip()))
item_3.append((re.sub(r'[^\w]',' ',item3).strip()))
上面的方法可以拆分项目名称:第一项(item_1),第二项(item_2),但是,这太重复了。即使我尝试创建一个函数,如果元组的数量超过 3 或 4 个,该函数也会抛出错误并且也会失败
有没有更好的办法解决这个问题?
【问题讨论】:
-
最终结果应该是什么?
-
我已对问题进行了更改。如果需要进一步澄清,请告诉我
标签: python regex pandas dataframe