相关疑难解决方法(0)

Numpy赋值如'numpy.take'

是否可以根据take功能的工作原理分配一个numpy数组?

例如,如果我有一个数组a,一个索引列表inds和一个所需的轴,我可以使用如下:

import numpy as np
a = np.arange(12).reshape((3, -1))
inds = np.array([1, 2])
print(np.take(a, inds, axis=1))

[[ 1  2]
 [ 5  6]
 [ 9 10]]
Run Code Online (Sandbox Code Playgroud)

当所需的索引/轴在运行时可能发生变化时,这非常有用.

但是,numpy不允许你这样做:

np.take(a, inds, axis=1) = 0
print(a)
Run Code Online (Sandbox Code Playgroud)

看起来这个通道有一些有限的(1-D)支持numpy.put,但我想知道是否有更清洁的方法来做到这一点?

python arrays indexing numpy

6
推荐指数
1
解决办法
778
查看次数

numpy.arrays的fsum,稳定求和

我有一些numpy.array带有较小值的多维s,我需要将它们相加且数值误差很小。对于floats,这里有math.fsum(及其实现在此处),对我一直很好。numpy.sum不够稳定。

如何获得numpy.arrays 的稳定求和?


背景

这是用于Quadpy软件包的。小值数组是在(许多)时间间隔的特定点上乘以其权重的函数求值。这些总和是所述函数在间隔上的积分的近似值。

python arrays numpy

5
推荐指数
1
解决办法
665
查看次数

访问python中的第n个维度

我想要一个易于读取访问多维numpy数组的某些部分.对于任何访问第一个维度的数组都是easy(b[index]).另一方面,访问第六维是"硬"(特别是阅读).

b[:,:,:,:,:,index] #the next person to read the code will have to count the :
Run Code Online (Sandbox Code Playgroud)

有一个更好的方法吗?特别是有一种方法,在编写程序时轴是不知道的吗?

编辑:索引维度不一定是最后一个维度

python arrays indexing numpy multidimensional-array

3
推荐指数
3
解决办法
167
查看次数

标签 统计

arrays ×3

numpy ×3

python ×3

indexing ×2

multidimensional-array ×1