[英]How to check if all elements of a numpy.array are of the same data type?
我有幾個numpy數組,可以將其格式化為
[1.525, 2.565, 6.367, ...] # elements are float numbers
要么
['', '', '', ...] # elements are empty strings
我想找出數組中的所有元素是否具有相同的數據類型。
目前,我正在使用:
if isinstance(np.any(time_serie),float):
return sum(time_serie)
但這是行不通的。 我收到以下錯誤:
TypeError: cannot perform reduce with flexible type
那么,我可以知道如何解決此問題嗎? 謝謝。
如果您正在尋找示例中提供的特定數據類型,例如所有項都是浮點數,則可以使用map和reduce來解決問題:
>>> x = [1.525, 2.565, 6.367]
>>> all(map(lambda i: isinstance(i, float), x))
True
>>> x = [1.525, 2.565, '6.367']
>>> all(map(lambda i: isinstance(i, float), x))
False
您可能要使用列表推導或map()
創建數據類型序列,然后根據此序列創建一個set
,並查看集合的長度是否為1。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.