Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python: can numba work with arrays of strings in nopython mode?

I am using pandas 0.16.2, numpy 1.9.2 and numba 0.20.

Is there any way to get numba to support arrays of strings in nopython mode? Alternatively, could I somehow convert strings to numbers which numba would recognise?

I have to run certain loops on an array of strings (a column from a pandas dataframe); if I could use numba the code would be substantially faster.

I have come up with this minimal example to show what I mean:

import numpy as np
import numba

x=np.array(['some','text','this','is'])

@numba.jit(nopython=True)
def numba_str(txt):
    x=0
    for i in xrange(txt.size):
        if txt[i]=='text':
            x += 1
    return x

print numba_str(x)

The error I get is:

Failed at nopython (nopython frontend)
Undeclared ==([char x 4], str)

Thanks!

like image 722
Pythonista anonymous Avatar asked Aug 17 '15 17:08

Pythonista anonymous


1 Answers

numba now supports str (since version 0.41)

like image 93
valentin Avatar answered Nov 03 '22 07:11

valentin