2012-05-28 12 views
13

Numpy配列に文字列が含まれているかどうかを確認する方法はありますか? 8は文字列の文字数を指すNumpy:配列の文字列データ型を確認してください

a = np.array('hi world') 

の配列aは、データ・タイプdtype('|S8')を有しています。

データタイプが単純に'|S8'ではないため、正規表現(ここではre.match('\|S\d+', a.dtype)など)の動作はわかりません。

乾杯、 ニコ

答えて

15
a.dtype.char == 'S' 

または

a.dtype.type is np.string_ 

NumPy docs, Data type objects, Attributesを参照してください。

+1

私はa.dtype.kind == 'S'もあることに気付きました。甘い! –

+0

ちょっとメモ:これはPython 3.xの 'a.dtype.type is np.str_'である必要があるようです。 –

+0

Python 2.x _and_ 3.xでは' a.dtype.kind in {' U '、' S '} 'を使用して文字列とUnicodeをキャッチします。 – Chipmuenk

関連する問題