我有一个物品清单和出售物品的编号,以冒号:
分隔。该项可以在列表中存在多次。最终目标是创建一个dataframe,其中一列列出项目,另一列列出销售总数。我正在考虑将列表拆分成一个字典,从售出的商品和编号中创建键:值对。然后将此字典转换为数据帧。当项目出现不止一次时,我对求和值感到很不安。下面是数据、我尝试的内容和结果
orders = ["screws:20", "nails:15", "brushes:5", "screws:15", "nails:20"]
my_dict = dict(s.split(":") for s in orders)
print(my_dict)
# {'screws': '15', 'nails': '20', 'brushes': '5'}
我想要的结果是{'screws' : '35', 'nails': '35', 'brushes': '5'}
,然后将其转换为df
您可以像这样使用字典:
你可以用听写器来做这件事,但你必须处理丢失的钥匙。而是使用^{} ,它会自动将缺少的值视为
0
您也可以使用
defaultdict(int)
,但是Counter
是更好的作业工具尝试将数据组合成
list
而不是dict
。使用dict
将删除具有重复名称的行此外,在对计数求和之前,必须将计数转换为整数
下面是一个例子:
哪张照片
相关问题 更多 >
编程相关推荐