python - 不同大小的numpy数组的减法
问题描述
我已经问过一个先前的问题,但我认为我的例子并不清楚。我仍在尝试从 numpy 数组列表中减去两个不同大小的 numpy 数组。例如:
####Data####
### For same size numpy arrays the subtraction works fine!!!!###
easy_data= [[1,2,3],[2,2,2]],[[1,2,3],[1,2,5]]
d = [np.array(i) for i in easy_data] # List of numpy arrays
res = d[1] - d[0]
>> array([[ 0, 0, 0],
[-1, 0, 3]])
##### Current Issue ####
data = [[1,2,3],[2,2,2]],[[1,2,3],[1,2,5],[1,1,1]]
d = [np.array(i) for i in data]
res = d[1] - d[0] #### As the sizes are different I can't subtract them ###
期望的输出
array([[ 0, 0, 0],
[-1, 0, 3],[1,1,1])
我在如何使用 numpy 数组方面有点慢,但我不知道如何使它工作?有谁能够帮我?
解决方案
在切片上操作是最简单的。如果您不想擦除原始数组,请使用副本:
>>> res=d[1].copy()
>>> res[:d[0].shape[0]]-=d[0]
>>> res
array([[ 0, 0, 0],
[-1, 0, 3],
[ 1, 1, 1]])
推荐阅读
- java - 将元素添加到数组并再次使用该数组
- java - 从 socketchannel 连续读取到 bytebuffer
- functional-programming - 命名将函数列表应用于一个值的函数
- flutter - 固定尺寸框中的图像?
- c - 从内核劫持系统调用
- android - tensoflow 应用演示中的错误“未初始化的分类器或无效的上下文”
- javascript - 使用 Javascript 将多个图像添加到不同的 HTML 数据链接标题
- reactjs - React Typescript - 反应组件类中的上下文
- ionic-framework - 如何让“离子卡”更小,但仍位于屏幕中间(离子 4)
- excel - 反转完整的 Excel 工作表