请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

一维数组和二维数组叠加问题

老师你好,我记得课程中讲到,可以用二维数组和一维数组做叠加
图片描述

为什么这样不行呢?

正在回答 回答被采纳积分+3

1回答

liuyubobobo 2020-05-26 04:18:50

使用 vstack 可以直接一个矩阵和一个向量叠加;但是 hstack 不可以。


简单来说,numpy 知道:

# vstack 2d 和 1d 的情况

[[1, 2, 3],
 [4, 5, 6]]
+
[7, 8, 9]
=
[[1,2,3],
 [4,5,6],
 [7,8,9]]


但是不知道:

# hstack 2d 和 1d 的情况
[[1, 2, 3],  + [7, 8, 9] = ????
 [4, 5, 6]]


继续加油!:)

0 回复 有任何疑惑可以回复我~
  • 提问者 weixin_慕虎2039575 #1
    所以跟二维矩阵跟一维向量其实只能用vstack?其余的拼接计算都是要维度相同且某个维度数值相同?
    回复 有任何疑惑可以回复我~ 2020-05-26 16:13:12
  • liuyubobobo 回复 提问者 weixin_慕虎2039575 #2
    对。为了清晰起见,我个人也建议化成同等维度,代码更好读(不依赖 numpy 的默认行为)。也正是因为这个原因,怕大家 confuse,在课程中,我也比没有介绍广播机制:)
    回复 有任何疑惑可以回复我~ 2020-05-26 16:18:38
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信