opencv键盘侠 发表于 2018-9-5 18:32:21

Jupyter notebook接力赛(7)Jupyter notebook学习Numpy

本帖最后由 opencv键盘侠 于 2018-9-6 10:40 编辑

Jupyter notebook学习Numpy Numpy库(以下运行结果均在#注释后)为pyhton提供了高性能的多维数组对象,以及用于处理这些阵列的工具,1.1 矩阵(Arrays)   创建矩阵#创建一个3行1列的矩阵
a = np.array()
#输出矩阵的维度,结果为(3,)
print(a.shape)
#选择矩阵的对应元素,在此处就是第一维度,第二维度,第三维度
print(a, a, a)
#创建一个2行3列的矩阵
b = np.array([,])
#输出对应元素
print(b, b, b)
#创建一个2*2的0矩阵,即元素全部为0
a = np.zeros((2,2))
#创建一个全部元素为1的矩阵
b = np.ones((1,2))
#创建一个元素全部为n的2*2矩阵
c = np.full((2,2), n)
#创建一个随机矩阵,即其中的元素值全部#为随机数
e = np.random.random((2,2))1.2 矩阵索引(Array indexing)Numpy提供了几种索引到数组的方法import numpy
#获取a矩阵的前两行,1到3列的数据
a = np.array([, , ])
b = a[:2, 1:3]
#将0行0列置为77
b = 77
#将a的第1行赋给row_r1
row_r1 = a
#依然是将a的第1行赋给row_r2,但是不同的是,同样是1行但此时row_r2有两个维度
row_r2 = a
print(row_r1, row_r1.shape) # Prints " (4,)"
print(row_r2, row_r2.shape) # Prints "[] (1, 4)"
#注意此时a虽然是两行三列的矩阵,但它其实是个3维矩阵,他只是三个维度中的一个
print(a)#Prints "[, , ]"
print(np.array(, a, a])) # Prints ""
b = np.array()
print(np.arange(2))
#将b当做索引,从a中取出对应值
print(a) # Prints "[ 1 6 7 11]"Prints

一些布尔变量在矩阵中的用法a = np.array([, , ])
bool_idx = (a > 2)
print(bool_idx) # Prints "[
# [ True True]
# [ True True]]"
print(a) # Prints ""


1.3矩阵中的数学操作(Array math)在矩阵数组中的一些数学操作x = np.array([,])
y = np.array([,])
v = np.array()
#对应相乘做和,1*9+2*10=29
print(np.dot(x, v)) #print""
#对应直接做和,axis=0时代表行,axis=1时对应列
print(np.sum(x)) #prints "10"
print(np.sum(x, axis=0)) #prints ""
print(np.sum(x, axis=1)) #prints ""

x = np.array([, , , ])
v = np.array()
y = np.empty_like(x) # 生成一个维度完全和矩阵x相同的空矩阵
for i in range(4):
y = x + v

#下面这些算法都是按照对应维度去进行计算的,因此要求必须两个运算矩阵的维度必须完全相同I
mport numpy as np
x = np.array([,], dtype=np.float64)
y = np.array([,], dtype=np.float64)
#加法
print(x + y)
print(np.add(x, y))
#减法
print(x - y)
print(np.subtract(x, y))
#乘法
print(x * y)
#除法
print(np.multiply(x, y))
print(x / y)
print(np.divide(x, y))
#开方
print(np.sqrt(x))

1.4 重构矩阵(reshape)改变矩阵的维度v = np.array() # v has shape (3,)
w = np.array() # w has shape (2,)
#将v矩阵重置为3行1列的矩阵()原本为1行3列)然后与w矩阵相乘
print(np.reshape(v, (3, 1)) * w)


2919005896 发表于 2018-9-26 16:30:17

numpy中的矩阵操作挺全的,但是缺少一些如统计函数和三角函数这一块的东西:funk:

HelloWorld 发表于 2018-10-8 08:26:34

对于机器学习来说numpy是基础中的基础哦

神龙教 发表于 2018-10-8 08:29:39

感谢大佬的教程
页: [1]
查看完整版本: Jupyter notebook接力赛(7)Jupyter notebook学习Numpy