numpy - Numpy:将n维向量与m维向量相加得到(n,m)矩阵
问题描述
假设我有数组 [1,2,3,4,5]。我想向它“添加”数组 [2,4,6,8] 所以我得到
[[3,5,7,9],
[4,6,8,10],
[5,7,9,11],
[6,8,10,12],
[7,9,11,13]]
(或其转置)。
这可能有一个功能,但我似乎找不到它,因为我不确定要搜索什么。
解决方案
正如@Divakar 所建议的,最好的方法是使用add.outer
:
a1 = np.array([1,2,3,4,5])
a2 = np.array([2,4,6,8])
np.add.outer(a1,a2)
但是您也可以明确地将您的数组广播a1
到正确的形状,然后添加到a2
:
a1[:,None]+a2
# essentially equivalent to:
# a1.reshape(-1,1)+a2
两者都产生:
array([[ 3, 5, 7, 9],
[ 4, 6, 8, 10],
[ 5, 7, 9, 11],
[ 6, 8, 10, 12],
[ 7, 9, 11, 13]])
推荐阅读
- objective-c - iOS 耳机音量增大/减小的自定义操作
- amazon-web-services - AWS CloudFormation 脚本失败 - 不允许 Cognito 使用您的电子邮件身份
- javascript - 按属性对对象javascript数组进行排序
- python - Selenium Python - 单击图像链接出现错误:消息:元素不可见
- ios - Objective C 的 Swift 语法
- scala - Scala 任何一个 [type1, type2]
- java - Maven:如何使用指定开发人员特定配置的单独文件?
- angular - 如何在 Angular 5 中使用 morris.js 更改 xLable 格式(我想得到月份)
- python - 由于元组而无法打印 DIctionnary
- wordpress - 同时编辑多个wordpress帖子正文