我想在它前面打印第3列的发生次数,如图b所示

2024-06-16 18:58:57 发布

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

我有3列,用逗号分隔,如下所示(第1列、第2列、第3列)。在下面的示例中,“241682-27638-USD-OCOF”没有重复,因此计数为1,“241942-37190-USD-DIV”重复两次,因此计数为2,依此类推。你知道吗

第1列、第2列、第3列、第3列的发生次数 姓名1,EMPID12482-27638-USD-CIGGNT,1
姓名2,EMPID2241682-27638-USD-OCGGINT,1
姓名3,EMPID3241942-37190-USD-GGDIV,2
姓名4,EMPID4241942-37190-USD-CHYOF,1
姓名5,EMPID5241942-37190-USD-EQPL,1
姓名6,EMPID6241942-37190-USD-INT,1
姓名7,EMPID7242066-15343-USD-CYJOF,3
姓名8,EMPID8242066-15343-USD-CYJOF,3
姓名9,EMPID9242066-15343-USD-CYJOF,3
姓名10,EMPID10241942-37190-USD-GGDIV,2
姓名11,EMPID11242066-33492-USD-CJHOF,1

我有一个CSV文件中的column1,column2,column3。我想将第3列的occcurance\u count\u作为下一列。我想检查第3列中的元素是否重复以及重复次数(occcurance\u count)。并使用Python打印同一CSV文件中的出现次数。你知道吗


Tags: 文件csvdiv示例count次数计数usd
1条回答
网友
1楼 · 发布于 2024-06-16 18:58:57

你需要一个柜台。一个Counter可以从stdlib的collections模块获得,但是我们可以进行w/o操作。您需要对数据进行两次传递,我假设您能够在一个列表数据结构中对文件内容进行slurp,我们可以方便地将其命名为table

counts = {}
for row in table:
    # use the `get` method of a dict with the optional `d` argument
    # set to 0 (see ">>> help(dict.get)" if get is new for you)
    counts[row[2]] = counts.get(row[2],0) + 1

for row in table:
    print formatter(row,counts[row[2]])

相关问题 更多 >