我正在使用Python 2.7并尝试让PyBrain工作.
但即使安装了scipy,我也会收到此错误 -
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/site-packages/PyBrain-0.3.1-
py2.7.egg/pybrain/__init__.py", line 1, in <module>
from pybrain.structure.__init__ import *
File "/usr/local/lib/python2.7/site-packages/PyBrain-0.3.1-py2.7.egg/pybrain/structure/__init__.py", line 1, in <module>
from pybrain.structure.connections.__init__ import *
File "/usr/local/lib/python2.7/site-packages/PyBrain-0.3.1-py2.7.egg/pybrain/structure/connections/__init__.py", line 1, in <module>
from pybrain.structure.connections.full import FullConnection
File "/usr/local/lib/python2.7/site-packages/PyBrain-0.3.1-py2.7.egg/pybrain/structure/connections/full.py", line 3, in <module>
from scipy import reshape, dot, outer
ImportError: No module named scipy
Run Code Online (Sandbox Code Playgroud)
我用这个命令安装了scipy -
sudo apt-get install python-scipy
Run Code Online (Sandbox Code Playgroud)
我明白了 -
Reading package lists... Done
Building dependency tree
Reading state …Run Code Online (Sandbox Code Playgroud) 我有一个目录中的文本文件列表。
我想创建一个矩阵,其中包含每个文件中整个语料库中每个单词的频率。(语料库是目录中每个文件中的每个唯一单词。)
例子:
File 1 - "aaa", "xyz", "cccc", "dddd", "aaa"
File 2 - "abc", "aaa"
Corpus - "aaa", "abc", "cccc", "dddd", "xyz"
Run Code Online (Sandbox Code Playgroud)
输出矩阵:
[[2, 0, 1, 1, 1],
[1, 1, 0, 0, 0]]
Run Code Online (Sandbox Code Playgroud)
我的解决方案是使用collections.Counter每个文件,获取包含每个单词计数的字典,并初始化和大小为n的列表列表 × m(n = 文件数,m = 语料库中唯一单词的数量)。然后,我再次遍历每个文件以查看对象中每个单词的频率,并用它填充每个列表。
有没有更好的方法来解决这个问题?也许在一次通过中使用collections.Counter?
我在 Pandas 的数据框中有一列缺失值约为 78%。
剩余的 22% 值按以下比率分配给三个标签 - SC、ST、GEN。
SC - 16% ST - 8% GEN - 76%
我需要用上述三个值替换缺失值,以便所有元素的比例保持与上述相同。只要比率保持如上,分配可以是随机的。
我该如何实现?