用于保存numpy ndarrays的快速数组/列表类型

时间:2014-03-10 03:21:44

标签: python arrays numpy

我的代码中有很多不同大小的numpy ndarray列表。 (我也有numpy ndarrays列表的列表,但这个问题不大,因为这些列表很小(<5个元素)。)

我已经了解到ndarrays of ndarrays of different dimention, doesn't really workout.

我倾向于做的操作:

  • 反向访问/写入。 (目前通过颠倒列表两次完成写作)
  • 附加
  • 在包含的ndarray上应用函数,例如将2个ndarrrays元素列表相加,乘以-1等等。

我目前正在使用以下功能(以及更直接的操作)来操纵它们

def uniop_nested(func,o_list):
    def inner(i_list):
    ¦   if isinstance(i_list[0],np.ndarray):
    ¦   ¦   ¦return map(func, i_list)
    ¦   else:
    ¦   ¦   ¦return map(inner, i_list)
    return inner(o_list)



def binop_nested(func, o1, o2):
    if not isinstance(o1,np.ndarray):
    ¦   return [binop_nested(func, i1, i2)  for (i1,i2) in zip(o1,o2)]
    else:
    ¦   return func(o1,o2)



def add_nested(s1,s2):
    return binop_nested(np.add,s1,s2)

我从分析中发现,这些列表是一个问题。

0 个答案:

没有答案