创建数组对象(ndarray)
通过NumPy库的array函数可以创建ndarray数组。ndarray是一个通用的同构数据容器,其中的所有元素都需要相同的类型。NumPy库能将数据(列表、元组、数组或其他序列类型)转换ndarray数组
array函数创建数组对象
array函数格式:np.array(object,dtype,ndmin)
object:接收array,表示想要创建的数组
dtype:接收data-type,表示数组所需要的数据类型,默认none
ndmin:接受int,指定生成数组最小维数,默认none
import numpy as np
data1 = [1,2,3] #列表
a=np.array(data1) #可以直接写a=np.array([1,2,3])
print(a)
data2=(2,3,4) #元组
b=np.array(data2)#b=np.array((2,3,4))
print(b)
data3=[[1,2,3,4],[2,3,4,5]] #多维数组
c=np.array(data3) #c=np.array([[1,2,3,4],[2,3,4,5]])
print(c)
out:[1 2 3]
[2 3 4]
[[1 2 3 4]
[2 3 4 5]]
列表与元组之间一个是[],一个是().
专门创建数组的函数
1.arange与python的内置函数range类似
a=np.arange(5)#也可以a=np.arange(0,1,0.2)
print(a)
out:[0,1,2,3,4]
2.linespace 函数创建等差数列
ne = np.linspace(1,11,5)
#第三个参数为生成数组的个数。
print(ne)
out:[ 1. 3.5 6. 8.5 11. ]
3.logspace生成等比数列
nf = np.logspace(1,11,3)
# 第一个和第二个为10的指数
print(nf)
out:[1.e+01 1.e+06 1.e+11]
4.zeros生成全部为0的数组
nz = np.zeros([5,6]) # 5行6列
print(nz)
out:
[[0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0.]]
5.ones生成全部为1的数组
no = np.ones([3,4])
print(no)
nn = np.ones([3,4],dtype=np.int32) #dtype指定类型
print(nn)
out:
[[1. 1. 1. 1.]
[1. 1. 1. 1.]
[1. 1. 1. 1.]]
[[1 1 1 1]
[1 1 1 1]
[1 1 1 1]]
6.diag生成对角线都为1的数组
nd = np.diag([1,2,3])
print(nd)
out:
[[1 0 0]
[0 2 0]
[0 0 3]]
ndarray对象属性喝数据转换
nd = np.diag([1,2,3])
# ndarray 常见属性
# 1.ndim 查询数组的维度
print(nd.ndim)
# 2.shape 查询数组的形状
print(nd.shape)
# 3.size 查询数组的元素个数
print(nd.size)
# 4.dtype 查询元素的类型
print(nd.dtype)
# 5.itemsize 查询元素的大小,单位为字节
print(nd.itemsize)
out:
2
(3, 3)
9
int32
4
1.随机数
# 生成随机数组标签:nd,print,数组,np,array,NumPy,out From: https://blog.51cto.com/u_15325450/5751339
na = np.random.rand(3)
print(na)
nb = np.random.rand(2,2)
print(nb)
nc = np.random.rand(2,3,4)
print(nc)
# randint 方法 生成随机整数
na = np.random.randint(1,10,size = (3,4))
print(na)
out:
[0.76332458 0.57877808 0.06417888]
[[0.49275681 0.91312691]
[0.10744714 0.61396393]]
[[[0.22795811 0.58894017 0.1179827 0.67114333]
[0.77517393 0.83525912 0.31635987 0.99816422]
[0.79892613 0.38645328 0.28509752 0.70667627]]
[[0.93434998 0.07858399 0.49939198 0.85468534]
[0.7881426 0.78934458 0.13119545 0.47933869]
[0.90567336 0.77719669 0.32328325 0.81869374]]]
[[1 4 6 4]
[6 8 1 5]
[4 3 8 8]]