簡體   English   中英

如何檢查numpy.array的所有元素是否具有相同的數據類型?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM