老师您好!这个用法还不是很清楚?

来源:3-7 Numpy中的矩阵运算

qtw1998

2019-02-22

老师您好

np.vstack([v] * A.shape[0]) # 这个不太清楚这个啥意义?
# 我记得之前都是类似这样的
A = np.array([2, 2])
B = np.array([[1, 2],[3, 4]])
np.vstack([A, B]) 

图片描述

写回答

1回答

liuyubobobo

2019-02-22

等价于np.vstack([v, v]),把你的例子中np.vstack([A, B])里的A和B都换成v:)


v是一个一维向量;A.shape[0]是A的行数,是一个数字。

[v] * n 就是把v复制n份,得到一个含有n个v的列表。(在这个例子里,n是2)。之后,对这个列表中的所有元素进行vstack:)


这样做,就是把v这个向量显示地拓展成一个和A的同形矩阵,进而可以“直观地”进行加法运算:)


当然,还有别的方法达到同样的效果。比如下面的代码也是对的:

np.array([v] * A.shape[0])


继续加油!:)

2
3
qtw1998
回复
liuyubobobo
?好滴老师
2019-02-22
共3条回复

Python3入门机器学习 经典算法与应用  

Python3+sklearn,兼顾原理、算法底层实现和框架使用。

5839 学习 · 2437 问题

查看课程