相关疑难解决方法(0)

高效地计算python中的单词频率

我想计算文本文件中所有单词的频率.

>>> countInFile('test.txt')
Run Code Online (Sandbox Code Playgroud)

{'aaa':1, 'bbb': 2, 'ccc':1}如果目标文本文件如下,则应返回:

# test.txt
aaa bbb ccc
bbb
Run Code Online (Sandbox Code Playgroud)

我在一些帖子之后用纯python实现了它.但是,由于文件大小(> 1GB),我发现纯python方式不足.

我认为借用sklearn的力量是一个候选人.

如果你让CountVectorizer计算每一行的频率,我猜你会通过总结每一列来获得字频率.但是,这听起来有点间接的方式.

使用python计算文件中单词的最有效和直接的方法是什么?

更新

我的(非常慢)代码在这里:

from collections import Counter

def get_term_frequency_in_file(source_file_path):
    wordcount = {}
    with open(source_file_path) as f:
        for line in f:
            line = line.lower().translate(None, string.punctuation)
            this_wordcount = Counter(line.split())
            wordcount = add_merge_two_dict(wordcount, this_wordcount)
    return wordcount

def add_merge_two_dict(x, y):
    return { k: x.get(k, 0) + y.get(k, 0) for k in set(x) | set(y) }
Run Code Online (Sandbox Code Playgroud)

python nlp word-count frequency-distribution scikit-learn

31
推荐指数
2
解决办法
2万
查看次数

将2D numpy数组转换为2D numpy矩阵

我有一个python代码,我必须将2D数组转换为2D矩阵,以便我可以使用它来计算逆.因为我使用numpy.matrix(数组),但它无法正常工作.任何人都可以告诉如何将2D数组转换为numpy矩阵?该数组由所有浮点数组成

python arrays numpy matrix

12
推荐指数
1
解决办法
5万
查看次数

在scipy.sparse矩阵中访问行/列中非零值的最有效方法

在格式的矩阵的行row或列col中访问所有非零值的最快或最不可靠的方法是什么?scipy.sparseACSR

以另一种格式(比如说COO)更有效率吗?

现在,我使用以下内容:

A[row, A[row, :].nonzero()[1]]
Run Code Online (Sandbox Code Playgroud)

要么

A[A[:, col].nonzero()[0], col]
Run Code Online (Sandbox Code Playgroud)

python scipy sparse-matrix

4
推荐指数
1
解决办法
5962
查看次数

NumPy的flatten()可以返回一个2D数组吗?

NumPy的flatten()可以返回一个2D数组吗?

我应用flatten()了一个形状的数组(12L, 54L),我得到了一个新的形状数组(1L, 648L).这应该不时发生吗?如果是这样,在哪些情况下会发生这种情况?

我使用NumPy 1.9.2.

numpy

1
推荐指数
1
解决办法
471
查看次数

稀疏矩阵除法

我一直在尝试将python scipy稀疏矩阵除以其行的矢量和。这是我的代码

sparse_mat = bsr_matrix((l_data, (l_row, l_col)), dtype=float)
sparse_mat = sparse_mat / (sparse_mat.sum(axis = 1)[:,None])
Run Code Online (Sandbox Code Playgroud)

但是,无论我如何尝试,都会引发错误

sparse_mat = sparse_mat / (sparse_mat.sum(axis = 1)[:,None])
File "/usr/lib/python2.7/dist-packages/scipy/sparse/base.py", line 381, in __div__
return self.__truediv__(other)
File "/usr/lib/python2.7/dist-packages/scipy/sparse/compressed.py", line 427, in __truediv__
raise NotImplementedError
NotImplementedError
Run Code Online (Sandbox Code Playgroud)

有人知道我要去哪里哪里吗?

python numpy scipy sparse-matrix

1
推荐指数
1
解决办法
4668
查看次数