2012-05-28 15 views
13

Jak określić, czy tablica Numpy zawiera ciąg znaków? Tablica a wNumpy: Sprawdź tablicę dla typu danych ciągowych

a = np.array('hi world') 

ma typ danych dtype('|S8'), gdzie 8 odnosi się do liczby znaków w ciągu.

Nie widzę, jak by tu działały wyrażenia regularne (takie jak re.match('\|S\d+', a.dtype)), ponieważ typ danych nie jest po prostu '|S8'.

Cheers, Nico

Odpowiedz

15
a.dtype.char == 'S' 

lub

a.dtype.type is np.string_ 

Zobacz NumPy docs, Data type objects, Attributes.

+1

Zauważyłem, że istnieje również a.dtype.kind == 'S'. Słodkie! –

+0

Po prostu notka: wygląda na to, że musi to być 'a.dtype.type to np.str_' w Pythonie 3.x –

+0

Dla Pythona 2.x _i_ 3.x możesz testować przeciwko' a.dtype.kind in {' U ',' S '} 'do przechwytywania łańcuchów i unicode. – Chipmuenk

Powiązane problemy