np.subtract-ValueError用numpy减去列表

问题描述

我给了不同的小组以循环。 criteria_list = case.xpath('./criteria') put_dict包含每个组的Integera列表。 由于incomes_dict始终包含更多值,因此我尝试将它们的长度设置为相同。 目的是减去这些值。

例如:

incomes_dict

代码

put_dict[g] = [ 2,3,4]
incomes_dict[g] = [1,2,1]
desired_result[g] = [1,1,3]

错误

import numpy as np

times = []    
for g in GROUPS:
    laenge = len(put_dict[g])
    times += np.subtract(put_dict[g],incomes_dict[g][:laenge])

解决方法

这是因为您试图将一个python列表无法理解的numpy数组求和。

我想您想将np.subtract( ... )的所有元素附加到times数组,您可以通过将np.subtract( ... )对象转换为python列表来完成。

import numpy as np

times = []    
for g in GROUPS:
    laenge = len(put_dict[g])
    times += np.subtract(put_dict[g],incomes_dict[g][:laenge]).tolist()