numpy学习笔记

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

最近在入门机器学习,python不怎么熟,也没有系统学习numpy,想到什么就写什么。


一、numpy是什么?

计算向量和矩阵的python库

二、向量转置是个什么结果

1.测试代码

代码如下:

import numpy as np
y = [0,0,0,1, 1 ,1 ,1, 1 ,1, 1, 1, 2 ,2 ,2, 2 ,2 ,3 ,3, 3, 3]
y = np.array(y)
print(y)
print(y.T)

2.运行结果

[0 0 0 1 1 1 1 1 1 1 1 2 2 2 2 2 3 3 3 3]
[0 0 0 1 1 1 1 1 1 1 1 2 2 2 2 2 3 3 3 3]

3.总结

numpy中向量转置没有任何变化。


三、矩阵和n维向量,1xn矩阵,nx1矩阵的减法

1.测试代码

代码如下:

import numpy as np
x = [[1,2,1,3,4],[2,1,7,5,4]]
y = [1,1,1,1,1]
a = np.array(x) # a:2*5矩阵
b = np.array(y) # b:5维向量
c = np.array([y]) # c:1*5矩阵
print(a - c) # 2*5矩阵 - 1*5矩阵
print(a - b) # 2*5矩阵 - 5维向量
print(a.T - c.T) # 5*2矩阵 - 5*1维向量
print(a.T - b) # 5*2矩阵 - 5维向量

2.运行结果

[[0 1 0 2 3]
 [1 0 6 4 3]]
[[0 1 0 2 3]
 [1 0 6 4 3]]
[[0 1]
 [1 0]
 [0 6]
 [2 4]
 [3 3]]
Traceback (most recent call last):
  File "C:\Users\31166\PycharmProjects\PythonProject\main.py", line 72, in <module>
    print(a.T - b) # 5*2矩阵 - 5维向量
          ~~~~^~~
ValueError: operands could not be broadcast together with shapes (5,2) (5,) 

3.总结

结论1:矩阵和矩阵形式的行向量“宽度”一致,可减,具体操作是矩阵中的每一行都减去行向量。
结论2:矩阵和矩阵形式的列向量“高度”一致,可减,具体操作是矩阵中的每一列都减去列向量。
结论3:向量等价于矩阵形式的行向量。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值