生成数组
生成正数
- 直接生成
t1 = np.array([1,2,3])
- range生成
t2 = np.array(range(10))
- arange生成(numpy独有)
- 使用方法类似range
t3 = np.arange(4,10,2)
生成小数
t7= np.array([random.random() for i in range(10)])
print(t7)
print(t7.dtype)
t8= np.round(t7,2) #取近似两位
print(t8)
---------------------
[0.10012212 0.95524231 0.25023686 0.65104295 0.29307086 0.18376068
0.34930801 0.92896144 0.79899637 0.79465704]
float64
[0.1 0.96 0.25 0.65 0.29 0.18 0.35 0.93 0.8 0.79]
数据类型操作
查看数据类型
t3 = np.arange(4,10,2)
print(t3.dtype)
-------------------------
int64
改变数组存储方式
t4 = np.array(range(1,4),dtype ="i1")
print(t4.dtype)
---------------
int8
t5 = np.array([1,1,0,1,0,0],dtype=bool)
print(t5)
print(t5.dtype)
---------------
[ True True False True False False]
bool
t6= t5.astype("int8")
print(t6)
print(t6.dtype)
----------------
[1 1 0 1 0 0]
int8
数组的形状
查看形状
t8= np.array([[1,2,3],[4,5,6]])
print(t8.shape)
------------------------
(2, 3) #二维,两行三列
t8= np.array([[[1,2,3],[4,5,6]],[[3,4,5],[6,7,8]]])
print(t8.shape)
------------------------
(2, 2, 3) #,三维两块两行三列
修改形状
- 升维
t3 = np.arange(12)
t4 = t3.reshape((3,4)) # 变为二维
print(t3.shape)
print(t4.shape)
------------------------
(12,)
(3, 4)
<