我的数据是元组列表:
def find_ngrams(verbatims, n):
return zip(*[verbatims[i:] for i in range(n)])
bigrams = find_ngrams(verbatims, 4)
print bigrams
[((u'a', u'grossir', u'et', u'a'), 74), ((u'un', u'avis', u'de', u'passage'), 68), ((u'le', u'facteur', u'est', u'pass\xe9'), 67), ((u'V\xeatements', u'+', u'ou', u'-'), 63), ((u'+', u'ou', u'-', u'similaires'), 62), ((u'vous', u'ne', u'pouvez', u'pas'), 54), ((u'sinon', u'une', u'petite', u'recherche'), 53)]
使用Counter()。most_common()方法进行排序和计数:
ngrams = Counter(bigrams).most_common()
FIY我正在对大型文本数据进行n-gram分析。对于n-gram信息:https://en.wikipedia.org/wiki/N-gram 我在pandas中有一个很酷的数据框:
DF = pandas.DataFrame(ngrams)
DF.columns = ['ngram','occurence']
print DF
ngram occurence
0 (a, grossir, et, a) 74
1 (un, avis, de, passage) 68
2 (le, facteur, est, passé) 67
除了我的n-gram用括号括起来,我不想要那个。我知道我可以使用基本的搜索/替换方法,但我想用更多的计算机科学,逻辑方式来做。另外,如果我进行搜索/替换,我可能会在文本内部丢失一些括号。
我不确定这里的确切问题是什么,但我想这与我列表中的嵌套元组有关。那么如何在不使用括号的情况下将元组列表添加到数据框中呢?
编辑:根据要求,这是我的预期输出:
ngram occurence
0 a, grossir, et, a 74
1 un, avis, de, passage 68
2 le, facteur, est, passé 67
谢谢,
答案 0 :(得分:1)
您不仅仅是在寻找:
import long_named_module as spam
func = spam.func