我有一个非常简单的python例程,它涉及在大约20,000个纬度,经度坐标的列表中循环并计算每个点到参考点的距离.
def compute_nearest_points( lat, lon, nPoints=5 ):
"""Find the nearest N points, given the input coordinates."""
points = session.query(PointIndex).all()
oldNearest = []
newNearest = []
for n in xrange(nPoints):
oldNearest.append(PointDistance(None,None,None,99999.0,99999.0))
newNearest.append(obj2)
#This is almost certainly an inappropriate use of deepcopy
# but how SHOULD I be doing this?!?!
for point in points:
distance = compute_spherical_law_of_cosines( lat, lon, point.avg_lat, point.avg_lon )
k = 0
for p in oldNearest:
if distance < p.distance:
newNearest[k] = PointDistance(
point.point, point.kana, point.english, point.avg_lat, point.avg_lon, distance=distance …Run Code Online (Sandbox Code Playgroud) 我正在使用Sphinx文档包来记录我正在处理的一个小型Python工具包,并且我想通过在Python文档字符串中以LaTeX格式列出它们来描述各种模块实现的数学公式.
使用:math:或.. math::指令reStructuredText 很容易实现这一点,例如:
.. math::
\\displaymath \\sum_{i=1}^{\\infty} x_{i}
Run Code Online (Sandbox Code Playgroud)
但是\\displaymath在Python文档字符串中,该指令只是以红色文本突出显示.当在.rst文件(例如index.rst)中使用时,这按预期工作,并且用于求和的子脚本和超脚本直接在求和符号之下和之上.
这根本不支持docstrings,还是我做错了什么或不做我需要做的事情?
我正在尝试向我学习一些C,并且遇到了可能是一个简单的问题.我正在尝试编译一些包含以下声明的代码:
int32 count;
Run Code Online (Sandbox Code Playgroud)
但是,这会在编译时导致错误:
test.c:21: error: ‘int32’ undeclared (first use in this function)
我需要为gcc设置一个特定的编译时选项,还是一个#include可以解决这个问题的指令?
ps我在Ubuntu Intrepid上运行.
我正在使用r的mclust库(http://www.stat.washington.edu/mclust)来做一些基于EM的实验GMM聚类.该软件包很棒,似乎通常可以为我的数据找到非常好的集群.
问题是我根本不知道R,虽然我已经设法根据help()内容和广泛的自述文件混淆了集群过程,但我不能为我的生活弄清楚如何写出来实际的集群结果到文件.我使用以下荒谬简单的脚本来执行聚类,
myData <- read.csv("data.csv", sep=",", header=FALSE)
attach(myData)
myBIC <- mclustBIC(myData)
mySummary <- summary( myBIC, data=myData )
Run Code Online (Sandbox Code Playgroud)
此时我有集群结果和摘要.data.csv中的数据只是一个多维点列表,每行一个.因此每条线看起来像'x,y,z'(在3维的情况下).
如果我使用2d点(例如只是x和y值),我可以使用内部绘图函数来获得一个非常漂亮的图形,根据分配给它的簇,绘制每个点的原始点和颜色代码.所以我知道所有的信息都在'myBIC'中,但文档和帮助似乎没有提供任何关于如何打印这些数据的见解!
我想根据我认为在myBIC中编码的结果打印出一个新文件.就像是,
CLUST x, y, z
1 1.2, 3.4, 5.2
1 1.2, 3.3, 5.2
2 5.5, 1.3, 1.3
3 7.1, 1.2, -1.0
3 7.2, 1.2, -1.1
Run Code Online (Sandbox Code Playgroud)
然后 - 希望 - 还打印出聚类过程发现的各个高斯/聚类的参数/质心.
当然这是一件非常容易做的事情,而我对R一无所知也无法理解......
编辑:我似乎已经进一步了解.执行以下操作打印出一些有点神秘的矩阵,
> mySummary$classification
[1] 1 1 2 1 3
[6] 1 1 1 3 1
[12] 1 2 1 3 1
[18] 1 3
Run Code Online (Sandbox Code Playgroud)
经过反思,我意识到实际上是样本列表及其分类.我想不可能通过write命令直接写这个,但是R控制台中的一些实验让我意识到我可以这样做:
> newData <- …Run Code Online (Sandbox Code Playgroud) 我有兴趣编写一个简短的python脚本,它通过POST请求将一个简短的二进制文件(.wav/.raw音频)上传到远程服务器.
我用pycurl完成了这个,这使得它非常简单并且产生了一个简洁的脚本; 不幸的是,它还要求最终用户安装了pycurl,我不能依赖它.
我在其他帖子中也看到了一些仅依赖于基本库,urllib,urllib2等的例子,但这些通常看起来相当冗长,这也是我想要避免的.
我想知道是否有任何简洁的例子不需要使用外部库,并且第三方可以快速方便地理解 - 即使他们不是特别熟悉python.
我目前使用的是什么样的,
def upload_wav( wavfile, url=None, **kwargs ):
"""Upload a wav file to the server, return the response."""
class responseCallback:
"""Store the server response."""
def __init__(self):
self.contents=''
def body_callback(self, buf):
self.contents = self.contents + buf
def decode( self ):
self.contents = urllib.unquote(self.contents)
try:
self.contents = simplejson.loads(self.contents)
except:
return self.contents
t = responseCallback()
c = pycurl.Curl()
c.setopt(c.POST,1)
c.setopt(c.WRITEFUNCTION, t.body_callback)
c.setopt(c.URL,url)
postdict = [
('userfile',(c.FORM_FILE,wavfile)), #wav file to post
]
#If there are extra keyword args …Run Code Online (Sandbox Code Playgroud) 我有一个非常简单的终端相关问题.我正在运行Ubuntu 8.10 Intrepid Ibex,使用Gnome,我经常打开一个基于终端的ssh会话,只是为了让它在以后的某个时候掉线.一旦会话被丢弃,终端就变得无法使用,显然是因为网络连接已被丢弃.
有没有办法重新初始化会话,甚至还原到工作的本地终端?
在Windows下,使用putty,当发生这种情况时,我可以右键单击并选择重新启动会话,而不需要打开一个新的终端,但是在linux下我对这个主题缺乏了解导致我总是关闭已经失效的终端,并且从头开始重新启动一个新的.我想学习一个新的有用的技巧,如果那里有一个.
另外,我发现以下帖子的措辞与我的非常相似,
自动(或更容易)重新连接到屏幕会话的网络中断后 重新连接到一个屏幕,会话后网络INTERR
但是,据我所知,这是一个不同的主题.
我知道Javascript中带括号的表达式返回在括号中计算表达式的结果:
x = ( 1, 2, 3 );
Run Code Online (Sandbox Code Playgroud)
将评估上面的三个表达式,并返回最后一个的结果:'3',如其他一些帖子中所述.
来自SlickGrid的以下示例代码包含一些我不太确定我理解的内容:
$(function () {
for (var i = 0; i < 500; i++) {
var d = (data[i] = {});
d["title"] = "Record " + i;
d["n1"] = Math.round(Math.random() * 10);
d["n2"] = Math.round(Math.random() * 10);
d["n3"] = Math.round(Math.random() * 10);
d["n4"] = Math.round(Math.random() * 10);
d["n5"] = Math.round(Math.random() * 10);
}
grid = new Slick.Grid("#myGrid", data, columns, options);
})
Run Code Online (Sandbox Code Playgroud)
特别是表达式:
var d = (data[i] = {});
Run Code Online (Sandbox Code Playgroud)
似乎返回对带括号的表达式中初始化的关联数组的引用.
那确实是怎么回事?有没有更详细的解释?是否有理由这样做而不是更明显的事情,比如创建关联数组'd',然后将其设置为'data …