标签: numpy-ndarray

如何创建一个所有True或所有False的numpy数组?

在Python中,如何创建一个任意形状的numpy数组,其中包含所有True或全部False?

python arrays boolean numpy numpy-ndarray

178
推荐指数
6
解决办法
17万
查看次数

numpy.newaxis如何工作以及何时使用它?

当我尝试

numpy.newaxis
Run Code Online (Sandbox Code Playgroud)

结果给出了一个2维的绘图框架,x轴从0到1.但是,当我尝试使用numpy.newaxis切片矢量时,

vector[0:4,]
[ 0.04965172  0.04979645  0.04994022  0.05008303]
vector[:, np.newaxis][0:4,]
[[ 0.04965172]
[ 0.04979645]
[ 0.04994022]
[ 0.05008303]]
Run Code Online (Sandbox Code Playgroud)

除了它将行向量更改为列向量之外,它是否相同?

一般来说,numpy.newaxis我们应该使用什么,在什么情况下使用它?

python numpy multidimensional-array numpy-broadcasting numpy-ndarray

155
推荐指数
4
解决办法
12万
查看次数

NumPy矩阵类的弃用状态

matrixNumPy中班级的状态是什么?

我一直被告知我应该使用这门ndarray课程.matrix在我编写的新代码中使用类是否值得/安全?我不明白为什么我应该使用ndarrays代替.

python numpy matrix deprecated numpy-ndarray

44
推荐指数
1
解决办法
3431
查看次数

NumPy的轴参数如何工作?

有人能解释axisNumPy中的参数究竟是什么吗?

我非常困惑.

我正在尝试使用该功能 myArray.sum(axis=num)

起初我认为如果数组本身是3维,axis=0将返回三个元素,由同一位置中所有嵌套项的总和组成.如果每个维度包含五个维度,我希望axis=1返回五个项目的结果,依此类推.

然而事实并非如此,文档并没有很好地帮助我(他们使用3x3x3阵列,因此很难说出发生了什么)

这是我做的:

>>> e
array([[[1, 0],
        [0, 0]],

       [[1, 1],
        [1, 0]],

       [[1, 0],
        [0, 1]]])
>>> e.sum(axis = 0)
array([[3, 1],
       [1, 1]])
>>> e.sum(axis=1)
array([[1, 0],
       [2, 1],
       [1, 1]])
>>> e.sum(axis=2)
array([[1, 0],
       [2, 1],
       [1, 1]])
>>>
Run Code Online (Sandbox Code Playgroud)

显然,结果并不直观.

python arrays numpy multidimensional-array numpy-ndarray

34
推荐指数
4
解决办法
1万
查看次数

numpy ndarray形状有什么作用?

我有一个关于.shape函数的简单问题,这让我很困惑.

a = np.array([1, 2, 3])   # Create a rank 1 array
print(type(a))            # Prints "<class 'numpy.ndarray'>"
print(a.shape)            # Prints "(3,)"

b = np.array([[1,2,3],[4,5,6]])    # Create a rank 2 array
print(b.shape)                     # Prints "(2, 3)"
Run Code Online (Sandbox Code Playgroud)

.shape究竟做了什么?计算多少行,多少列,然后a.shape假设为,(1,3),一行三列,对吧?

arrays numpy shape multidimensional-array numpy-ndarray

31
推荐指数
3
解决办法
6万
查看次数

零垫numpy数组

在最后用零填充数组的pythonic方法是什么?

def pad(A, length):
    ...

A = np.array([1,2,3,4,5])
pad(A, 8)    # expected : [1,2,3,4,5,0,0,0]
Run Code Online (Sandbox Code Playgroud)

在我的实际用例中,实际上我想将数组填充到1024的最接近倍数.例如:1342 => 2048,3000 => 3072

python numpy zero-pad zero-padding numpy-ndarray

28
推荐指数
6
解决办法
5万
查看次数

在2d数组中填充边界框

我有一个2D numpy数组,看起来像

array([[0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 1., 1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 1., …
Run Code Online (Sandbox Code Playgroud)

python arrays numpy bounding-box numpy-ndarray

17
推荐指数
2
解决办法
1175
查看次数

添加numpy数组时避免溢出

我想用datatyp uint8添加numpy数组.我知道这些数组中的值可能足够大,可以发生溢出.所以我得到类似的东西:

a = np.array([100, 200, 250], dtype=np.uint8)
b = np.array([50, 50, 50], dtype=np.uint8)
a += b
Run Code Online (Sandbox Code Playgroud)

现在,是的[150 250 44].但是,我希望uint8的值太大而不是uint8允许的最大值,而不是溢出.所以我想要的结果就是[150 250 255].

我可以使用以下代码获得此结果:

a = np.array([100, 200, 250], dtype=np.uint8)
b = np.array([50, 50, 50], dtype=np.uint8)
c = np.zeros((1,3), dtype=np.uint16)
c += a
c += b
c[c>255] = 255
a = np.array(c, dtype=np.uint8)
Run Code Online (Sandbox Code Playgroud)

问题是,我的数组非常大,因此创建具有更大数据类型的第三个数组可能是内存问题.是否有一种快速且更有效的内存方式来实现所描述的结果?

python numpy image-processing integer-overflow numpy-ndarray

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

layout = torch.strided 是什么意思?

当我浏览 pytorch 文档时,我layout = torch.strided在许多函数中遇到了一个术语。任何人都可以帮助我了解它在哪里使用以及如何使用。描述说这是返回的 Tensor 所需的布局。布局是什么意思,有多少种布局?

torch.rand(*sizes, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False)
Run Code Online (Sandbox Code Playgroud)

python multidimensional-array pytorch tensor numpy-ndarray

12
推荐指数
2
解决办法
1万
查看次数

如何将numpy数组值复制到更高的维度

我在2d中有一个(w,h)np数组.我想制作一个值大于1的3d维度,并将其值沿第三维复制.我希望广播会这样做,但事实并非如此.这就是我在做的方式

arr = np.expand_dims(arr, axis=2)
arr = np.concatenate((arr,arr,arr), axis=2)
Run Code Online (Sandbox Code Playgroud)

有更快的方法吗?

python 3d numpy multidimensional-array numpy-ndarray

10
推荐指数
2
解决办法
2589
查看次数