【发布时间】:2020-03-31 08:51:10
【问题描述】:
我已经问过一个先前的问题,但我认为我的例子并不清楚。我仍在尝试从 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 数组有点慢,但我不知道如何使它工作?有人可以帮帮我吗?
【问题讨论】:
-
在期望的输出中,最后一行是如何计算的?是
d[1]的最后一行减去d[0]的最后一行吗? -
我猜 OP 想要一种向量的隐式扩展
d[0]whered[0][2] = [0, 0 ,0] -
是的,@obchardon 是正确的。我想要 d[0][2] = [0,0,0] 那么我不需要删除数据!