![](/img/trans.png)
[英]How to get the shortest array shape in a python numpy multidimensional array?
[英]How to get type of multidimensional Numpy array elements in Python
我怎樣才能獲得多維數組的類型?
我對待數組,但考慮數據類型: string
, float
, Boolean
,我必須調整代碼,所以我必須得到類型,無論維度可以是一個二維或更多。
數據可以是真實的1d,字符串的3D ...
我想恢復數組的類型,它是真的嗎,它是一個字符串是一個布爾...沒有做數組[0]或數組[0] [0] [0] [0]因為維度可以是各種各樣的。 或者一種獲取數組的第一個元素的方法,無論尺寸如何。
它適用於np.isreal有點修改,但我沒有找到像isastring或isaboolean等效...
使用dtype
屬性:
>>> import numpy
>>> ar = numpy.array(range(10))
>>> ar.dtype
dtype('int32')
Python列表就像數組:
>>> [[1, 2], [3, 4]]
[[1, 2], [3, 4]]
但是對於分析和科學計算,我們通常使用numpy包的數組進行高性能計算:
>>> import numpy as np
>>> np.array([[1, 2], [3, 4]])
array([[1, 2],
[3, 4]])
如果你問的是檢查數組中數據的類型,我們可以通過使用數組中感興趣項目的索引來做到這一點(這里我會更深入地進行直到我到達最深的元素):
>>> ar = np.array([[1, 2], [3, 4]])
>>> type(ar)
<type 'numpy.ndarray'>
>>> type(ar[0])
<type 'numpy.ndarray'>
>>> type(ar[0][0])
<type 'numpy.int32'>
我們還可以通過訪問dtype
屬性直接檢查數據類型
>>> ar.dtype
dtype('int32')
例如,如果數組是一個字符串,我們將了解最長字符串的長度:
>>> ar = numpy.array([['apple', 'b'],['c', 'd']])
>>> ar
array([['apple', 'b'],
['c', 'd']],
dtype='|S5')
>>> ar = numpy.array([['apple', 'banana'],['c', 'd']])
>>> ar
array([['apple', 'banana'],
['c', 'd']],
dtype='|S6')
>>> ar.dtype
dtype('S6')
我傾向於不對我的導入進行別名,所以我有這里看到的一致性(我通常會import numpy
)。
>>> ar.dtype.type
<type 'numpy.string_'>
>>> ar.dtype.type == numpy.string_
True
但是import numpy as np
(即別名)是很常見的:
>>> import numpy as np
>>> ar.dtype.type == np.string_
True
fruits = [['banana'], [1], [11.12]]
for first_array in range(len(fruits)):
for second_array in range(len(fruits[first_array])):
print('Type :', type(fruits[first_array][second_array]), 'data:', fruits[first_array][second_array])
這顯示了每個值的數據類型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.