哪个更好,为什么?
def my_function():
Run Code Online (Sandbox Code Playgroud)
要么
def myFunction():
Run Code Online (Sandbox Code Playgroud) 无耻地跳上潮流:-)
灵感来自我如何找到带有Mathematica的Waldo和后续如何找到Waldo with R,作为一个新的python用户,我很想知道如何做到这一点.看起来python比R更适合这个,我们不必像Mathematica或Matlab那样担心许可证.
在下面的例子中,显然只使用条纹是行不通的.如果能够制定一个简单的基于规则的方法来处理诸如此类的困难例子,那将会很有趣.

我已经添加了[机器学习]标签,因为我认为正确的答案必须使用ML技术,例如Gregory Klopper在原始主题中提倡的Restricted Boltzmann Machine(RBM)方法.python中有一些RBM代码可能是一个很好的起点,但显然需要训练数据.
在2009年IEEE国际信号处理机器学研讨会(MLSP 2009)上,他们举办了数据分析竞赛:Wally在哪里?.训练数据以matlab格式提供.请注意,该网站上的链接已经死亡,但是数据(以及Sean McLoone及其同事采用的方法的来源可以在这里找到(参见SCM链接).看起来像是一个开始的地方.
HDFVIEW相当不错,但还有其他选择吗?
能够改变诸如分块/压缩设置之类的东西会很棒 - hdfview没有这个功能 - 无需使用Java/python /其他任何东西来加载文件.
我正在尝试用Python编写一个函数(仍然是一个noob!),它返回由tfidf分数的内积所排序的索引和分数.程序是:
idx和所有其他文档之间计算内部产品的向量我目前的代码是:
import h5py
import numpy as np
def get_related(tfidf, idx) :
''' return the top documents '''
# calculate inner product
v = np.inner(tfidf, tfidf[idx].transpose())
# sort
vs = np.sort(v.toarray(), axis=0)[::-1]
scores = vs[1:,]
# sort indices
vi = np.argsort(v.toarray(), axis=0)[::-1]
idxs = vi[1:,]
return (scores, idxs)
Run Code Online (Sandbox Code Playgroud)
这里tfidf是一个sparse matrix of type '<type 'numpy.float64'>'.
这似乎效率低下,因为排序执行了两次(sort()然后argsort()),结果必须反过来.
toarray()吗?现在是星期五下午,我的大脑已冻结了!
grep -E -m 1 -o "<title>(.*)</title>" myfile.rss
Run Code Online (Sandbox Code Playgroud)
回报
<title>Some title</title>
Run Code Online (Sandbox Code Playgroud)
我怎么才能得到Some title?
有时使用ipython时,您可能会在以写入模式打开文件的函数中遇到异常.这意味着下次运行该函数时会出现值错误,
ValueError:文件'filename'已经打开.请在写入模式下重新打开之前关闭它.
但是,由于函数被淘汰,文件句柄(在函数内部创建)将丢失,因此无法关闭.绕过它的唯一方法似乎是关闭ipython会话,此时你会收到消息:
关闭剩余的打开文件:filename ... done
有没有办法指示ipython关闭文件而不退出会话?
使用时pytables,对于scipy.sparse矩阵格式没有支持(据我所知),所以要存储矩阵我必须做一些转换,例如
def store_sparse_matrix(self):
grp1 = self.getFileHandle().createGroup(self.getGroup(), 'M')
self.getFileHandle().createArray(grp1, 'data', M.tocsr().data)
self.getFileHandle().createArray(grp1, 'indptr', M.tocsr().indptr)
self.getFileHandle().createArray(grp1, 'indices', M.tocsr().indices)
def get_sparse_matrix(self):
return sparse.csr_matrix((self.getGroup().M.data, self.getGroup().M.indices, self.getGroup().M.indptr))
Run Code Online (Sandbox Code Playgroud)
麻烦的是该get_sparse函数需要一些时间(从磁盘读取),如果我理解正确也需要数据适合内存.
唯一的其他选择似乎是将矩阵转换为密集格式(numpy array)然后pytables正常使用.然而,这似乎是相当低效的,虽然我想也许pytables会处理压缩本身?
pytables本身不支持python词典.我接近它的方法是创建一个表单的数据结构:
tables_dict = {
'key' : tables.StringCol(itemsize=40),
'value' : tables.Int32Col(),
}
Run Code Online (Sandbox Code Playgroud)
(请注意,我确保密钥长度小于40个字符),然后使用此结构创建表:
file_handle.createTable('/', 'dictionary', tables_dict)
Run Code Online (Sandbox Code Playgroud)
然后用以下内容填充:
file_handle.dictionary.append(dictionary.items())
Run Code Online (Sandbox Code Playgroud)
和检索数据:
dict(file_handle.dictionary.read())
Run Code Online (Sandbox Code Playgroud)
这样做没问题,但重读字典非常慢.我认为问题是该read()函数导致整个字典被加载到内存中,这实际上并不是必需的.有一个更好的方法吗?
我正在开发一个包,我的结构如下:
mypackage/
__init__.py
__main__.py
someotherstuff.py
test/
__init__.py
testsomeotherstuff.py
Run Code Online (Sandbox Code Playgroud)
我已经设置好主 .py函数运行一些单元测试,python mypackage从命令行执行工作正常.然而,我经常想使用ipython首次亮相,但是从解释器中,run mypackage给出了错误ERROR: File 'mypackage.py' not found.我可以手动运行它run mypackage/__main__.py但不知何故这似乎是错误的.我还应该做些什么才能正确设置它?
我正在尝试使用SSMS版本11.0.2100.60在本地计算机上创建数据库.我以管理员身份运行应用程序,使用Windows身份验证登录,并且我已将MYDOMAIN\my-username添加到登录.但是,如果我尝试使用此登录创建数据库,我会收到消息
CREATE DATABASE permission denied in database 'master'. (Microsoft SQL Server, Error: 262)
Run Code Online (Sandbox Code Playgroud)
如果我尝试将privelage dbcreator添加到我的用户,我会收到以下错误.
User does not have permission to perform this action. (Microsoft SQL Server, Error: 15247)
Run Code Online (Sandbox Code Playgroud)
我无法以sa身份登录,因为我不知道/记住密码(是否有预设的默认设置?),如果我尝试更改密码,我会收到消息:
Cannot alter the login 'sa', because it does not exist or you do not have permission. (Microsoft SQL Server, Error: 15151)
Run Code Online (Sandbox Code Playgroud)
最后我注意到帐户'sa'被禁用,如果我尝试启用它,我会得到与以前相同的错误.有没有办法解决这个问题,还是需要重新安装?
版本信息:
Microsoft SQL Server Management Studio 11.0.2100.60
Microsoft Analysis Services Client Tools 11.0.2100.60
Microsoft Data Access Components (MDAC) 6.2.9200.16384
Microsoft MSXML 3.0 4.0 6.0
Microsoft Internet Explorer 9.10.9200.16635 …Run Code Online (Sandbox Code Playgroud)