新手在这里.我正在通过nltk书和另一本Python介绍书.我之前在nltk书中遇到过most_common(),虽然我当时无法工作也找不到解决方案,但是我创建了一个小功能,可以完成特定练习中的技巧并继续使用.现在我再次需要它,但我认为我不能轻易绕过它(练习是关于特定文本中最常见的单词长度),而且我知道我会在后面的例子中再次找到它,我希望能够效仿,因为正如我所说,我是一个新手.
从理论上讲,我应该能够这样做:
fdist = FreqDist(len(w) for w in text1)
fdist.most_common()
[(3, 50223), (1, 47933), (4, 42345), (2, 38513) ...
Run Code Online (Sandbox Code Playgroud)
但是,Python告诉我这个:
AttributeError: 'FreqDist' object has no attribute 'most_common'
Run Code Online (Sandbox Code Playgroud)
我发现most_common()是计数器对象的属性(http://docs.python.org/2/library/collections.html)和(http://docs.python.org/dev/library/collections#collections .Counter).我知道也许我应该导入一些东西(一个模块?),但我尝试导入的东西不起作用(没有定义或不存在的消息)或者不包含它 - 我尝试过
import collections
Run Code Online (Sandbox Code Playgroud)
没有错误,但是当我输入dir(collections)或dir(builtins)时,没有列出most_common().
我安装了2.7和3.0(大部分时间都是Windows,偶尔使用ubuntu在我的虚拟机中工作).我会继续搜索,但非常感谢您的意见.这感觉很基本,但我正在学习,至少现在不能自己解决.再次,非常感谢.
我试图得到一个逻辑矩阵作为特定于M(:,i)原始矩阵的每一列的条件的结果,基于i向量中相同索引的值N,即N(i).
我在网上看过这个,但找不到任何类似的东西.必须有一个简单而干净的方法来做到这一点.
M =
3 -1 100 8
200 2 300 4
-10 0 0 400
N =
4 0 90 7
Run Code Online (Sandbox Code Playgroud)
我希望的解决方案是,对于每一列M(:,i),值小于N(i):
1 1 0 0
0 0 0 1
1 0 1 0
Run Code Online (Sandbox Code Playgroud) 我试着在标题中总结一下.
我有两个相似的单元格数组(带字符串),除了A有比B更多的元素.我想找到A中那些不在B中的元素的索引.A和B有以相同方式排序的元素,除了A具有随机间隔的额外插值.
在Python中我会做这样的事情:
A = ["a", "b", "c", "d", "e", "f"]
B = ["a","c", "d", "f"]
indices = []
for i in A:
if i not in B:
indices.append(A.index(i))
Run Code Online (Sandbox Code Playgroud)
不幸的是,我需要它用于Matlab中的数据,用于长度超过100k的单元阵列.
谢谢!