我正在使用一个包含餐厅订单的数据集,如下面的示例所示(即,所有订单成分都汇总为一个用“-”分隔的字符串)
orders_all = ['soup-steak-cake-riesling', 'salad-chardonnay-fish', 'syrah-salad-steak-cake']
我想将不同的项目提取到独立的列表中,以便于进行数据分析,但是我一直在努力寻找合适的功能。理想情况下,给定以下字典,该脚本将能够遍历订单组件并根据字典返回相应的葡萄酒类型。
wine_dict = {'riesling': 'white', 'chardonnay': 'white', 'syrah': 'red'}
orders_wine = ['white', 'white', 'red']
有什么建议吗? :)
答案 0 :(得分:0)
您将需要手动进行此操作,这比我根据订购商品的类型所希望的要多,前提是您想做的不仅仅是红酒。但是以下内容将为您提供所需的东西。
orders_wine = []
for order in orders_all:
temp_list = order.split('-')
for item in temp_list:
if item in wine_dict:
orders_wine.append(wine_dict[item])
这将为您提供一个列表orders_wine
,与['white', 'white', 'red']
相似
但是,我建议您执行以下操作:
wine_type_orders = {'white':0, 'red':0}
for order in orders_all:
temp_list = order.split('-')
for item in temp_list:
if item in wine_dict:
wine_type_orders[wine_dict[item]] +=1
#wine_dict[item] would give red or white which are the keys for wine_type_orders and +=1 would increment the counter