如何在一列中显示唯一值和相应值在下一列的总和?

2024-10-02 20:29:37 发布

您现在位置:Python中文网/ 问答频道 /正文

如果我的输入有一个产品列表,并且它的数量用空格隔开,我想制作一个python代码,它将输出产品的唯一值和每个产品的数量之和。在

输入:

Product1 3
Product2 3
Product3 6
Product2 5
Product1 1
Product1 2
Product321 4
Product4 2
Product5 3
Product3 4
Product1 1
Product2 2
Product5 4
Product321 5

输出:

^{pr2}$

Tags: 代码列表数量产品空格product1pr2product3
2条回答

欢迎使用堆栈溢出。正如你所知,这是你要求别人改正你的代码的地方,而不是为你写代码。您需要先尝试一些东西,如果您的实现有问题,您可以询问如何修复它,如果您在尝试了一段时间后无法修复它。在

在这里,我给你一些解决问题的提示:

  1. 安装Pandashttp://pandas.pydata.org/)。
  2. 了解命令

    2.1条。read.csv

    2.2条。group_by

    2.3条。agg

    2.4条。reset_index

使用这些,您应该能够在一行文本中完成问题。请试一试。在

如何打开/读取文件:How to Open a file through python

如何总结stuff中的重复次数:item frequency count in python

如何在python中拆分字符串:How to split a string into a list?


把它们放在一起我想到了这个:

from collections import defaultdict

info = defaultdict(int)

with open("PATH_TO_INPUT","r") as f_in:
    for line in f_in:
        name,number = line.split(" ")
        info[name]+=int(number)

with open("PATH_TO_OUTPUT","w") as f_out:
    f_out.write("\n".join("%s %s"%pair for pair in info.items()))

虽然没有可能那么冗长,但这项任务的每一个方面在别处都有很好的描述。在

相关问题 更多 >