安装
1.以管理员的形式打开cmd
2.输入命令安装numpy插件
pip install numpy
- 在cmd界面里输入上面的命令
3.安装成功后,输入pip list 命令查看是否安装成功
pip list
创建
使用array创建
array语法
numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
import numpy as np
#使用array创建一维数组
list01 = [1,2,3,4]
np01 = np.array(list01)
print(np01)
print(type(np01))
#使用array创建二维数组
list02 = [[1,2,3,4],[5,6,7,8]]
np02 = np.array(list02)
print(np02)
print(type(np02))
#使用array创建三维数组
list03 = [[[1,2,3,4],[5,6,7,8],[9,10,11,12]]]
np03 = np.array(list03)
print(np03)
print(type(np03))
维数的理解
array参数的使用
参数 | 参数及描述 |
---|---|
Object | 任何序列类型 |
dtype | 数组的所需数据类型,可选。 |
copy | 可选,默认为true,对象是否被复制。 |
order | C(按行)、F(按列)或A(任意,默认)。 |
subok | 默认情况下,返回的数组被强制为基类数组。如果为true,则返回子类。 |
ndimin | 指定返回数组的最小维数。 |
# Object 任何序列类型
tuple01 = (1,2,3)
list01= [1,2,3]
set01 = {5,6,7}
dict01 ={"张三":10,"李四":20}
np01= np.array(dict01)
print(np01)
#dtype 数组的所需数据类型,可选。
list01 = [1,2,3]
np01= np.array(list01,dtype=float)
print(np01)
""" 说明 np02 是 np01 的副本,两个是不同的对象 所以np02 和 np01 的数据不同 """
list01 = [1,2,3]
np01= np.array(list01)
np02=np.array(np01,copy=True)
np02[0]=10
print(np01)
print(np02)
""" 可以看到数据是一样的,说明np02和np01是同一个对象 """
list01 = [1,2,3]
np01= np.array(list01)
np02=np.array(np01,copy=False)
np02[0]=10
print(np01)
print(np02)
#由于order效果不明显,也不常用,在这里作为了解 #subok 默认情况下,返回的数组被强制为基类数组。如果为true,则返回子类。 #matrix 是矩阵 之后会给大家详细讲解先回用
np01 = np.matrix('1 2 7; 3 4 8; 5 6 9')
print(type(np01))
print(np01)
np02 = np.array(np01, subok=True)
np03 = np.array(np01, subok=False)
print(type(np02)) #<class 'numpy.matrix'> 如果是true返回矩阵
print(type(np03)) #<class 'numpy.ndarray'>如果是False,强制改为了数组
#ndimin 指定返回数组的最小维数。
list01 = [1,2,3]
np01= np.array(list01,dtype=float,ndmin=3)
print(np01)
使用arange创建
先来复习以下range函数 """ range(start,stop,step) 函数可创建一个整数列表 1.不写start,默认从0开始 2.左开右闭 3.step步长,不写默认是1 """
for i in range(10):
print(i)
""" arange(start,stop,step,dtype) 1.不写start,默认从0开始 2.左开右闭 3.step步长,不写默认是1 """ #一维数组
a = np.arange(10) #[0 1 2 3 4 5 6 7 8 9]
a = np.arange(2,10) #[2 3 4 5 6 7 8 9]
a = np.arange(1,10,2) #[1 3 5 7 9]
a = np.arange(1,10,2,dtype=float)
print(a)
#二维数组 #切记前面的12,必须满足3*4
np01 = np.arange(12).reshape(3, 4)
print(np01)
使用 random 创建数组
常用的random函数
函数 | 描述 |
---|---|
np.random.random(size) | 生成0到1之间的随机数 |
np.random.randint(low,high=None,size=None,dtype="1") | 生成随机的整数 |
np.random.randn(d0,d1,d2,d3.........) | 生成标准正态的随机数(期望为0,方差为1) |
np.random.normal(loc,scale,size) | 生成正态分布(指定期望和方差) |
np.random.uniform(low,high,size) | 生成均勻分布的随机数 |
np.random.shuffle() | 随机打乱顺序 |
np.random.seed() | 设置随机数种子 |
np.random.sample(size) | 生成随机的浮点数 |
# np.random.random() 生成0到1之间的随机数 #创建一维数组 size生成几个数据,可直接写4
np01= np.random.random(size=4) #[0.13475357 0.8088961 0.52055803 0.49706622]
#创建二维数组 size=(3,4) 3行4列 可用()和[] ,效果一样
np01= np.random.random((3,4))
#创建三维数组 两个三行四列
np01= np.random.random((2,3,4))
print(np01)
""" np.random.randint(low,high=None,size=None,dtype="1") 生成随机的整数 low:开始 high=None :结束 size:长度 dtype数据类型,默认是int32 no01.dtype属性 1.左开右闭 2.不写low默认是0 """ #创建一维数组
np01= np.random.randint(1,11,10)#1-10
#创建二维数组
np01= np.random.randint(1,11,(3,4))#1-10
#创建三维数组
np01= np.random.randint(1,11,(2,3,4))#1-10
print(np01)
#创建标准的正态分布 #一维数组
np01=np.random.randn(4)
#二维数组
np01=np.random.randn(2,4)
#三维数组
np01=np.random.randn(3,2,4)
print(np01)
"""