Python 按类别对计数进行分组

Python 按类别对计数进行分组,python,nltk,Python,Nltk,我编写了一个脚本,它检查数据,使用正则表达式检查表情符号,当找到表情符号时,计数器会更新。然后,每个类别的计数数应写入列表中,例如cat ne有25个表情符号,类别fr有45个。。。。这就是问题所在。我得到的结果是: [1,'ag',2,'dg',3,'dg',4,'fr',5,'fr',6,'fr',7,'fr',8,'hp',9,'hp',10,'hp',11,'hp',12,'hp',13,'hp',14,'hp',15,'hp',16,'hp',17,'hp',18,'hp',19,'h

我编写了一个脚本,它检查数据,使用正则表达式检查表情符号,当找到表情符号时,计数器会更新。然后,每个类别的计数数应写入列表中,例如cat ne有25个表情符号,类别fr有45个。。。。这就是问题所在。我得到的结果是:

[1,'ag',2,'dg',3,'dg',4,'fr',5,'fr',6,'fr',7,'fr',8,'hp',9,'hp',10,'hp',11,'hp',12,'hp',13,'hp',14,'hp',15,'hp',16,'hp',17,'hp',18,'hp',19,'hp',20,'hp',21,'hp',22,'hp',23,'hp',24,'hp',25,'ne',26,'ne',27,'ne',28,'ne',29',ne',30',ne',31',ne',32',ne',33“,37,'东北',38]

fileid是这种形式的,一个大文件包含7个小文件(每个文件都是一个类别)。在类别中,每个类别大约有100个文件:

data/ne/567.txt

每个.txt文件中的数据只有一句话,如下所示

我今天很高兴:)

这是我的剧本:

counter = 0
lijst = []  
for fileid in corpus.fileids():
    for sentence in corpus.sents(fileid):
        cat = str(fileid.split('/')[0])
        s = " ".join(sentence)    
        m = re.search('(:\)|:\(|:\s|:\D|:\o|:\@)+', s)
        if m is not None:
            counter +=1
            lijst += [counter] + [cat]
你应该做:

import collections

counts = collections.defaultdict(lambda: 0)
for fileid in corpus.fileids():
    for sentence in corpus.sents(fileid):
        cat = str(fileid.split('/')[0])
        s = " ".join(sentence)
        counts[cat] += len(re.findall('(:\)|:\(|:\s|:\D|:\o|:\@)+', s))
你应该做:

import collections

counts = collections.defaultdict(lambda: 0)
for fileid in corpus.fileids():
    for sentence in corpus.sents(fileid):
        cat = str(fileid.split('/')[0])
        s = " ".join(sentence)
        counts[cat] += len(re.findall('(:\)|:\(|:\s|:\D|:\o|:\@)+', s))

您有输入数据的示例吗?@SaulloCastro我编辑了我的问题,以包含输入数据的信息。谢谢!您有输入数据的示例吗?@SaulloCastro我编辑了我的问题,以包含输入数据的信息。谢谢!非常感谢,现在所有内容都按类别进行了分组!当尝试将其作为在一个更大的脚本中使用,我会不断得到定义错误。我只会调用定义表情(语料库),但这似乎不起作用。有什么想法吗?我不确定我是否理解问题的实质,你能将导致问题的代码粘贴到你的问题中吗?@Victorkez我发现了,我犯了一个愚蠢的错误。再次感谢!非常感谢,现在所有内容都按类别分组了!当尝试将其作为定义在更大的脚本中使用时,我的定义不断出现错误。我只想调用定义表情(语料库),但这似乎不起作用。有什么想法吗?我不确定我是否理解问题的实质,你能在你的问题中粘贴导致问题的代码吗?@Victorkez我明白了,我犯了一个愚蠢的错误。再次感谢!