函数调用方法:

numpy.array(object, dtype=None)

各个参数意义:
​​​object​​​:创建的数组的对象,可以为单个值,列表,元胞等。
​​​dtype​​​:创建数组中的数据类型。
返回值:给定对象的数组。

普通用法:

import numpy as np

array = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

print("数组array的值为: ")
print(array)
print("数组array的默认类型为: ")
print(array.dtype)
"""
result:
数组array的值为:
[0 1 2 3 4 5 6 7 8 9]
数组array的默认类型为:
int32
"""

我们可以看到,我们成功创建了给定元素的数组,并且创建数组的默认类型为​​np.int32​​类型。

进阶用法:

import numpy as np

array = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], dtype=np.float32)

print("数组array的值为: ")
print(array)
print("数组array的默认类型为: ")
print(array.dtype)
"""
result:
数组array的值为:
[0. 1. 2. 3. 4. 5. 6. 7. 8. 9.]
数组array的默认类型为:
float32
"""

我们成功创建了给定元素的数组,并且创建数组的默认类型为​​np.float32​​类型。

更高级的用法:

import numpy as np

array = np.array((1, 2), dtype=[('x', np.int8), ('y', np.int16)])

print("数组array的值为: ")
print(array)
print("数组array的默认类型为: ")
print(array.dtype)
print("数组array中对应x标签元素为: ")
print(array['x'])
print("数组array中对应y标签元素为: ")
print(array['y'])
"""
result:
数组array的值为:
(1, 2)
数组array的默认类型为:
[('x', 'i1'), ('y', '<i2')]
数组array中对应x标签元素为:
1
数组array中对应y标签元素为:
2
"""

我们可以看到,我们在创建数组的同时,可以设定其中单个元素的数据类型,这里的​​'i1'​​​指代的便是​​np.int8​​​类型,​​'i2'​​​指代的是​​'np.int16'​​类型。读者可以自行尝试,这里不做过多讨论,后续也许会补充说明。

最高级的用法:

import numpy as np

# Create rain data
n_drops = 10

rain_drops = np.zeros(n_drops, dtype=[('position', float, (2,)),
('size', float),
('growth', float),
('color', float, (4,))])

# Initialize the raindrops in random positions and with
# random growth rates.
rain_drops['position'] = np.random.uniform(0, 1, (n_drops, 2))
rain_drops['growth'] = np.random.uniform(50, 200, n_drops)

print(rain_drops)
"""
result:
[([0.70284885, 0.03590322], 0., 176.4511602 , [0., 0., 0., 0.])
([0.60838294, 0.49185854], 0., 60.51037667, [0., 0., 0., 0.])
([0.86525398, 0.65607663], 0., 168.00795695, [0., 0., 0., 0.])
([0.25812877, 0.14484747], 0., 80.17753717, [0., 0., 0., 0.])
([0.66021716, 0.90449213], 0., 121.94125106, [0., 0., 0., 0.])
([0.88306332, 0.51074725], 0., 92.4377108 , [0., 0., 0., 0.])
([0.68916433, 0.89543162], 0., 90.77596431, [0., 0., 0., 0.])
([0.7105655 , 0.68628326], 0., 144.88783652, [0., 0., 0., 0.])
([0.6894679 , 0.90203559], 0., 167.40736266, [0., 0., 0., 0.])
([0.92558218, 0.34232054], 0., 93.48654986, [0., 0., 0., 0.])]
"""

码字不易,如果大家觉得有用,请高抬贵手给一个赞让我上推荐让更多的人看到吧~