【问题标题】:Jagged array in cythoncython中的锯齿状数组
【发布时间】:2012-03-20 11:45:38
【问题描述】:

如果我在 python 中有一个锯齿状列表,比如

jagged = [[1],[2,3]]

如何使用 numpy 和 cython 将其声明为数组? 有可能吗? 我知道下面的语法,但它不会做,因为它只给出一个一维数组。

cdef numpy.ndarray[np.float_t] jagged

【问题讨论】:

    标签: python numpy cython jagged-arrays


    【解决方案1】:

    Numpy 数组(在 Cython 内外)通常是矩形的。你没有说你想用锯齿状数组做什么,但你也许可以使用:

    http://docs.scipy.org/doc/numpy/reference/maskedarray.html

    或:

    http://docs.scipy.org/doc/scipy/reference/sparse.html

    至于问题的一维部分,您需要 ndim 参数(如果您没有得到任何 order='F' 数组,mode='c' 可以加快速度):

    cdef numpy.ndarray[DTYPE_t, ndim=2, mode='c'] somearray
    

    【讨论】:

      猜你喜欢
      • 2015-09-23
      • 2020-04-02
      • 1970-01-01
      • 2013-04-21
      • 1970-01-01
      • 1970-01-01
      • 2011-06-10
      • 2013-06-21
      • 2015-07-01
      相关资源
      最近更新 更多