Cython类,用零创建NumPy

2024-09-26 22:52:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试创建一个cython类来创建一个带有零的NumPy。稍后我想在那个Numpy中写浮点值。。。 我的python类如下所示:

class test:
    def __init__(self, b):
       self.b = b
       self.eTest = np.zeros((100, 100))

到目前为止,我的cython课程是这样的:

^{pr2}$

我的cython代码到目前为止不起作用。我正在努力解决一个问题:如何在没有任何Python的情况下创建一个由0(100100)组成的NumPy。有可能吗?我对赛顿不是很熟悉,如果我问的是一些非常琐碎的问题,我很抱歉!在

非常感谢您的帮助和建议!在


Tags: 代码testselfnumpyinitdefnpzeros
1条回答
网友
1楼 · 发布于 2024-09-26 22:52:19

重新定义你的类:

  cdef class test:
  cdef double[:,:] eTest
  def __init__(self, b):
      cdef np.ndarray[FTYPE_t, ndim=2, mode='c'] tmp
      tmp = np.zeros((100,100), dtype=FTYPE)
      self.eTest = tmp

您的ndarray(在本例中是tmp)只能是函数(本例中是构造函数)的本地变量,因此您应该首先将eTest声明为缓冲区支持类型(在我的示例中是memoryview),然后将ndarray复制到它。在

作为旁白,我将直接为eTest分配零:

^{pr2}$

但我保留了你的结构以防你需要。在

相关问题 更多 >

    热门问题