Pythonでギザギザのリストがある場合
jagged = [[1],[2,3]]
numpy と cython を使用して配列として宣言するにはどうすればよいですか? なんとなく可能ですか?次の構文は知っていますが、1D 配列しか得られないため、うまくいきません。
cdef numpy.ndarray[np.float_t] jagged
Pythonでギザギザのリストがある場合
jagged = [[1],[2,3]]
numpy と cython を使用して配列として宣言するにはどうすればよいですか? なんとなく可能ですか?次の構文は知っていますが、1D 配列しか得られないため、うまくいきません。
cdef numpy.ndarray[np.float_t] jagged
ゴツゴツした配列(Cythonの内外の両方)は通常、長方形です。ジャグ配列で何をしようとしているのかはわかりませんが、次のように使用できる可能性があります。
http://docs.scipy.org/doc/numpy/reference/maskedarray.html
また:
http://docs.scipy.org/doc/scipy/reference/sparse.html
質問の1次元部分に関しては、ndim paramが必要です(mode ='c'は、order ='F'配列を取得しない場合に処理を高速化できます):
cdef numpy.ndarray[DTYPE_t, ndim=2, mode='c'] somearray