Код: Выделить всё
from numba import njit
import numpy as np
dtype = np.dtype([
("id", "i4"), ("qtrnm0", "S4"), ("qtr0", "f4"),
])
a = np.array([(1, b"24q1", 1.0)], dtype=dtype)
@njit
def upsert_numba(a, sid, qtrnm, val):
a[1] = qtrnm
a[2] = val
#i = 0
#a[i+1] = qtrnm
#a[i+2] = val
return a
x = (1, b"24q2", 3.0)
print(upsert_numba(a[0].copy(), *x))
Код: Выделить всё
No implementation of function Function() found for signature:
>>> setitem(Record(id[type=int32;offset=0],qtrnm0[type=[char x 4];offset=4],qtr0[type=float32;offset=8];12;False), int64, readonly bytes(uint8, 1d, C))
Я пробовал другую константу в качестве индекса, например "j=i; a[j]", которая также работает. Но неудивительно, что «j=i+1;a[j]» терпит неудачу.
Подробнее здесь: https://stackoverflow.com/questions/787 ... y-in-numpy