Python 按类别对计数进行分组
我编写了一个脚本,它检查数据,使用正则表达式检查表情符号,当找到表情符号时,计数器会更新。然后,每个类别的计数数应写入列表中,例如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文件中的数据只有一句话,如下所示 我今天很高兴:) 这是我的剧本: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
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我明白了,我犯了一个愚蠢的错误。再次感谢!