小编emb*_*ert的帖子

Cython:对于类型化的内存视图,我应该使用np.float_t而不是double

关于cython中的内存视图,使用NumPy类型键入视图是否有任何优势,例如,如果我正在处理numpy浮点数组,np.float_t而不是简单地做double

我应该cdef以同样的方式输入,例如

ctypedef np.float64_t np_float_t
...

@cython.profile(False)
@cython.wraparound(False)
@cython.boundscheck(False)
cdef np_float_t mean_1d(np_float_t [:] v) nogil:
    cdef unsigned int n = v.shape[0]
    cdef np_float_t n_sum = 0.

    cdef Py_ssize_t i
    for i in range(n):
        n_sum += v[i]

    return n_sum / n
Run Code Online (Sandbox Code Playgroud)

python numpy typing cython memoryview

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

如何复制matplotlib图?

我有FigureCanvasWxAgg一个图表显示在框架上的实例.如果用户点击画布,FigureCanvasWxAgg则会显示另一个包含相同图形的新框架.到现在为止,关闭新帧会导致破坏图中的C++部分,使其无法用于第一帧.

我怎么能保存这个数字?复制模块中的Python深层复制在这种情况下不起作用.

提前致谢.

python wxpython copy matplotlib

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

是否有一种根据Jaccard相似性对图表进行聚类的有效方法?

有没有一种有效的方法来使用Jaccard相似性来集群图中的节点,使得每个集群至少具有K节点?

节点之间的Jaccard相似ij:
我们S是集合的邻居iT是集合邻居j.然后之间的相似性ij由下式给出 |(S ? T)| / |(S ? T)|.

algorithm cluster-analysis hierarchical-clustering graph-algorithm

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

$在字符串中的含义?

我是这样过来的

__date__ = "$Date: 2011/06$"
Run Code Online (Sandbox Code Playgroud)

在文档中找到了这个

  • $$ 是一种逃避;它被替换为单个 $。
  • $identifier命名与 的映射键匹配的替换占位符"identifier"。默认情况下,"identifier"必须拼写一个 Python 标识符。$ 字符后的第一个非标识符字符终止此占位符规范。
  • ${identifier}相当于 $identifier。当有效identifier字符跟在占位符之后但不是占位符的一部分时是必需的,例如"${noun}ification".

但我不明白。

有人可以用简单的英语解释什么是$为了并最好给出一些例子吗?

python string character

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

(python)matplotlib pyplot show()..阻塞与否?

show()一遍又一遍地遇到这个麻烦,我确信我做错了但不确定做出我想要的'正确'方法.

并且[我认为]我想要的是在主线程中阻塞直到GUI线程中发生事件的某种方式,这样的事情第一次起作用:

from matplotlib import pyplot as p
from scipy import rand

im = (255*rand(480,640)).astype('uint8')
fig = p.figure()
ax = fig.add_subplot(111)
ax.imshow(im)

# just any mutable container for storing a click
s = [-1, -1]

def onclick(event):
  if event.xdata is not None and event.ydata is not None:
    s[0] = event.xdata
    s[1] = event.ydata
    p.close()

cid = fig.canvas.mpl_connect('button_press_event', onclick)
p.show()
print s
Run Code Online (Sandbox Code Playgroud)

p.show()块,直到p.close()被调用的事件处理程序.但是当第二次运行相同的代码时,它会越过p.show()并打印原始代码s, [-1, -1].

我已阅读有关是否p.show()可以或应该从同一程序中多次调用的相互矛盾的信息.它似乎被设计为使用一次,并且只在脚本结束时使用一次.其他用例似乎以pyplot某种方式破坏(状态机?).

我试图使用 …

python events matplotlib blocking

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

矢量在Cython中分配

这是我的cython程序

cdef struct Node:
    int v
    Node* next
    Node* pre

def f(int N):
    cdef:
        vector[Node*] narray
        int i
    narray.assign(N, 0)
    for i in xrange(N):
        narray[i] = 0
Run Code Online (Sandbox Code Playgroud)

Cython编译结果:

Error compiling Cython file:
------------------------------------------------------------
...
    cdef:
        vector[Node*] narray
        int i
    narray.assign(N, 0)
    for i in xrange(N):
        narray[i] = 0
             ^
------------------------------------------------------------

testLinkList.pyx:107:14: Compiler crash in AnalyseExpressionsTransform
Run Code Online (Sandbox Code Playgroud)

但我可以使用push_back()在向量的末尾追加值或使用int而不是Node*.怎么了?

python pointers vector cython

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

使用大型管道更快地渲染mayavi场景

mayavi.mlab用来显示从图像中提取的3D数据.数据如下:

  1. 3D摄像机参数为摄像机中心周围的3线条x, y, x,通常用于约20台摄像机mlab.plot3d().
  2. 3D空间中的彩色点用于关于4000点的使用mlab.points3d().

对于(1)我有一个功能来分别为每个摄像机绘制每条线.如果我是正确的,所有这些行都被添加到当前场景的mayavi管道中.在mlab.show()场景需要大约10秒钟来渲染所有这些线条.

对于(2)我找不到一种方法来一次绘制所有点,每个点都有不同的颜色,所以此刻我会迭代mlab.points3d(x,y,z, color = color).我有更新的等待这个例程完成,因为它需要很长时间.如果我用相同的颜色一次绘制所有点,则需要大约2秒钟.

我已经尝试使用fig.scene.disable_render = True并重置fig.scene.disable_render = False之前启动我的脚本,然后显示场景mlab.show().

如何在合理的等待时间内使用mayavi显示我的数据?

python mayavi

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

Python GTK(Glade)笔记本

我目前正在使用GTK +(和Glade)在Python中开发一个小应用程序.到目前为止,所有内容都相当简单,直到我提出添加标签而不是弹出窗口的想法.注意:仍然使用Python 2.7+

有没有简单的方法来实现新选项卡(笔记本)中的现有页面,如结构?我很难找到如何在林间空地中创建的单独选项卡中添加内容.提出一个更"清晰"的问题:使用每个不同的选项卡调用特定V/HBox需要哪些笔记本功能?当前结构看起来像(减去菜单/状态栏):

[ mainWindow ] --> (1) mainOverview (gtkVbox) --> (2A) mainContent (gtkHbox) ... other non-related content

我希望的结构看起来像:

[ mainWindow ] --> (1) mainOverview --> (2) noteBook --> (3) Tab1 --> (4) mainContent (gtkHbox) -- (3) Tab2 --> (4) secondaryContent (gtkHbox)

应用程序本身工作正常(多线程,功能齐全)没有选项卡,mainContent(gtkHbox)包含文件/递归目录分析器,一些复选框和一般概述.我希望gtkHbox只有在Tab1选择时才能以简单的方式显示这个主窗口().

难以找到好的参考页面,显示每个笔记本选项卡调用内容页面的正确方法.任何参考页面或有用的链接非常感谢!谢谢到目前为止!我很抱歉,如果这是一个相当新的问题,我不是Python编码的新手,但另一方面是接口...;)

python gtk glade

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

是否有NumPy C API函数将重置布局标志?

我手动修改NumPy数组的形状和步幅,这些数组可能(或可能不)使连续性标志无效.

  1. 我是否必须手动检查步幅是否与您期望的形状和NPY_C_CONTIGUOUS(或NPY_F_CONTIGUOUS)值相匹配?
  2. 是否有一个API函数可以为我执行此操作并自动清除或启用适当的标记?

python numpy python-c-api python-c-extension

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

Sharepoint Designer 2013 - 如何添加Web部件区域?

我在Sharepoint 2013中遇到了问题.

我正在使用Designer 2013,我正在尝试添加另一个Web部件区域.从图中可以看出,左侧有一个Web部件区域.我知道如何减小Web部件区域的宽度,因此有另一个空间.但我不知道,如何实际添加新的Web部件区域.

Designer 2013没有设计视图.
有没有人知道我这次可以在右边添加一个Web部件区域?

提前致谢.

问题

sharepoint-2013

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