fro*_*ggy 8 python arrays types numpy
我怎样才能获得多维数组的类型?
我把数组但考虑到数据类型: string,float,Boolean,我必须适应代码,所以我就一定得类型,无论维度可以是二维以上.
数据可以是真实的1d,字符串的3D ...
我想恢复数组的类型,它是真的吗,它是一个字符串是一个布尔...没有做数组[0]或数组[0] [0] [0] [0]因为维度可以是各种各样的.或者一种获取数组的第一个元素的方法,无论尺寸如何.
它适用于np.isreal有点修改,但我没有找到像isastring或isaboolean等效...
Aar*_*all 13
使用dtype属性:
>>> import numpy
>>> ar = numpy.array(range(10))
>>> ar.dtype
dtype('int32')
Run Code Online (Sandbox Code Playgroud)
Python列表就像数组:
>>> [[1, 2], [3, 4]]
[[1, 2], [3, 4]]
Run Code Online (Sandbox Code Playgroud)
但是对于分析和科学计算,我们通常使用numpy包的数组进行高性能计算:
>>> import numpy as np
>>> np.array([[1, 2], [3, 4]])
array([[1, 2],
[3, 4]])
Run Code Online (Sandbox Code Playgroud)
如果你问的是检查数组中数据的类型,我们可以通过使用数组中感兴趣的项目的索引来做到这一点(这里我按顺序更深入,直到我到达最深的元素):
>>> 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'>
Run Code Online (Sandbox Code Playgroud)
我们还可以通过访问dtype属性直接检查数据类型
>>> ar.dtype
dtype('int32')
Run Code Online (Sandbox Code Playgroud)
例如,如果数组是一个字符串,我们将了解最长字符串的长度:
>>> 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')
Run Code Online (Sandbox Code Playgroud)
我倾向于不对我的导入进行别名,因此我具有这里所见的一致性(我通常这样做import numpy).
>>> ar.dtype.type
<type 'numpy.string_'>
>>> ar.dtype.type == numpy.string_
True
Run Code Online (Sandbox Code Playgroud)
但它是常见的import numpy as np(也就是别名):
>>> import numpy as np
>>> ar.dtype.type == np.string_
True
Run Code Online (Sandbox Code Playgroud)