2015-04-07 21 views
1

我得到了一個numpy的陣列,例如:我可以使用dtype來查找numpy數組的元素是否是字符串?

myArray = np.array(['a','bc']) 

是否有可能使用dtype找出來,它的元素是否是字符串

我能做的就是檢查myArray.dtype == 'S2'的唯一途徑,但我的問題?我不知道我的元素中有多少角色。

我可以使用類似myArray.dtype == 'str'的東西嗎?

回答

3

你可以使用issubdtype做檢查:

>>> np.issubdtype(myArray.dtype, str) 
True 

功能檢查給定的D型細胞是否在與NumPy的type hierarchy訂購下另一個。

或者,您可以直接檢查dtype的字符代碼。字符串類型有代碼'S'

>>> myArray.dtype.char 
'S' 
+0

+1不知道'np.issubdtype',我通常檢查這個東西作爲'issubclass(myArray.dtype.type,STR)'的。 – Jaime

相關問題