我想找到一种方法来快速处理Numpy中这样的数组,其形状为(10,):
[array([0, 1, 3]) ,array([0, 1, 7]), array([2]), array([0, 3]), array([4]),
array([5]), array([6]) ,array([1, 7]), array([8]), array([9])]
例如,我想计算数组元素的总数,上面的数组为16,但是不进行for循环,因为实际上我的“嵌套数组”会很大。
谢谢!
答案 0 :(得分:5)
一种查找数组长度的方法是 ravel 嵌套的numpy数组,然后如下所示查找长度:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.ApplyConfiguration(new PersonConfiguration());
modelBuilder.ApplyConfiguration(new WorkerConfiguration());
}
输出:
a = [array([0, 1, 3]) ,array([0, 1, 7]), array([2]), array([0, 3]), array([4]),
array([5]), array([6]) ,array([1, 7]), array([8]), array([9])]
len(np.concatenate(a).ravel())
#Here we expand the numpy arrays and then flatten it to find the length.
据我所知,与for循环相比,ravel的timeit性能更好。