按索引过滤字典中不同形状的数组

时间:2018-05-09 17:23:49

标签: python numpy dictionary

如果我有一个字典,其所有元素的形状相同,我可以按索引过滤这些元素,如下所示:

import numpy as np
import random

# Some random data
a1 = np.random.uniform(0., 1., 1000)
a2 = np.random.uniform(0., 1., 1000)
a3 = np.random.uniform(0., 1., 1000)
# Some random indexes
idx = random.sample(range(0, 1000), 25)
# My dict
aa = {'a1': a1, 'a2': a2, 'a3': a3}
# New filtered dict
bb = {k: v[idx] for k, v in aa.iteritems()}

但如果字典中的元素有不同的形状:

a1 = np.random.uniform(0., 1., 1000)
a2 = np.random.uniform(0., 1., (3, 1000))
a3 = np.random.uniform(0., 1., (5, 1000))

以上不再适用。有没有办法将滤波推广到不同形状(但长度相等)的数组?

0 个答案:

没有答案