Numpy(Numerical Python)是科学计算基础库,提供大量科学计算相关功能,比如数据统计,随机数生成等,其提供最核心类型为多维数组类型(ndarray),支持大量的维度数组与矩阵运算,numpy支持向量处理ndarray对象,提高程序运算速度。
一、安装
-
下载
pip install numpy
-
arange函数测试环境安装
import numpy as np a = np.arange(10) print(a)
-
实例:
# 检测numpy模块是否安装成功 #导入numpy import numpy as np # 创建数组 a = np.arange(10) print(a) print(type(a)) # 对ndarray对象类进行向量处理 print(np.sqrt(a)) # 对列表中的元素开平方 import math b = [3, 4, 9] # 定义存储开平方的结果的列表 result = [] # 遍历列表 for i in b: result.append(math.sqrt(i)) print(result) 结果: [0 1 2 3 4 5 6 7 8 9] <class 'numpy.ndarray'> [0. 1. 1.41421356 1.73205081 2. 2.23606798 2.44948974 2.64575131 2.82842712 3. ] [1.7320508075688772, 2.0, 3.0]
二、数组的创建
(一)ndarray创建
-
numpy模块的array函数可以生成多为数组。例如,如果要生成一个二维数组,需要向array函数传递一个列表类型的参数。每一个列表元素是一维的ndarray类型数组,作为二维数组的行。另外,通过ndarray类的shape属性可以获取的数组没一维的元素个数(元组形式),也可以通过shape[n]形式获得每一维的元素个数,其中n是维度,从0开始。
-
语法格式如下:
numpy.array(object, type = None, opy = True, order= None, subok = False, ndmin = 0)
实例:# 使用array创建数组 import numpy as np # 使用array函数创建一维数组 a = np.array([1, 2, 3, 4]) print(a) print(type(a)) # 使用array函数创建二维数组 b = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) print(b) print(type(b)) # 使用array函数创建三维数组 c = np.array([[[1, 2, 3], [4, 5 ,6], [7, 8, 9]]]) print(c) print(type(c)) # array函数中dtype的使用 d = np.array([3, 4, 5], dtype=float) print(d) print(type(d)) # array函数中ndmin的使用 e = np.array([5, 6, 7], dtype=float, ndmin=3) print(e) print(type(e)) 结果: [1 2 3 4] <class 'numpy.ndarray'> [[1 2 3] [4 5 6] [7 8 9]] <class 'numpy.ndarray'> [[[1 2 3] [4 5 6] [7 8 9]]] <class 'numpy.ndarray'> [3. 4. 5.] <class 'numpy.ndarray'> [[[5. 6. 7.]]] <class 'numpy.ndarray'>
(二)arange创建
使用arange函数创建数值范围并返回ndarray对象,函数格式如下:
numpy.arange(start,stop,step,dtype)
参数说明:
start:起始值,默认为0
stop:终止值(不包含)
step:步长,默认为1
dtype:返回ndarray的数据类型,如果没有提供,则会使用输入数据的类型。
实例:
# 使用arange创建数组
import numpy as np
# range的使用
# 格式:range(start, end, step)
a = list(range(1, 10))
print(a)
b = list(range(10)) # 默认从0开始,步长为1
print(b)
c = list(range(1, 10, 3))
print(c)
# arange创建数组
# 使用arange创建1-10的数组
a = np.arange(1, 11)
print(a)
# 设置步长
b = np.arange(1, 11, 2)
print(b)
# 设置dtype
c = np.arange(10, 20, 2, dtype=float)
print(c)
结果:
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 4, 7]
[ 1 2 3 4 5 6 7 8 9 10]
[1 3 5 7 9]
[10. 12. 14. 16. 18.]
(三)随机数创建
1.随机数
格式:
numpy.random.random(size=None)
**:该方法返回[0.0,1.0)范围(不包括1.0)的随机数
2.随机整数
格式:
numpy.random.randint(size=None)
3.正态分布创建
格式:
numpy.random.randn(d0,d1,…,dn)
**:randn函数返回一个或一组样本,具有标准正态分布(期望为0,方差为1)。
**:dn表示每个维度
**:返回值为指定维度的array
4.指定期望和方差的正态分布
格式:
np.random.normal(loc=3, scale=4, size=(2, 2, 3))
**:loc指的是期望
**:scale指的是方差
**:scale值得是形状
5.实例
# 使用随机数创建数组
import numpy as np
def randomTest():
# 使用random创建一维数组[0.0,1.0)
a = np.random.random(size=5)
print(a)
print(type(a))
# 使用random创建二维数组
b = np.random.random(size=(3, 4))
print(b)
# 使用random创建三维数组
c = np.random.random(size=(2, 3, 4))
print(c)
# 随机整数
def randomintTest():
# 生成0-5之间的随机整数 一维
a = np.random.randint(6, size=10)
print(a)
print(type(a))
# 生成5-10之间的随机整数 二维
b = np.random.randint(5, 11, size=(4, 3)) # 4行,3列
print(b)
# 生成5-10之间的随机整数 三维 类型是float
c = np.random.randint(5, 11, size=(2, 4, 3))
print(c)
# dtype的使用
d = np.random.randint(10, size=5)
e = np.random.randint(10, size=5, dtype=np.int64)
print(d)
print("默认的dtype:", d.dtype)
print(e)
print(e.dtype)
# 创建标准的正态分布,期望为0,方差为1
def randnTest():
# 创建一维的数组
a = np.random.randn(4)
print(a)
# 创建二维的数组
b = n