标签: numpy-ndarray

替换n维numpy数组中特定轴索引的元素

给定一个 n 维 numpy 数组。现在给出了一个轴和相应的索引。该特定轴索引中的所有元素应替换为给定值。三维数组的示例:

>>a = np.ones((2,2,2))
array([[[ 1.,  1.],
        [ 1.,  1.]],

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

给定轴=1,索引=0。该轴索引中的所有元素都必须为零。

>>a
array([[[ 0.,  0.],
        [ 1.,  1.]],

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

python arrays numpy numpy-ndarray

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

Numpy - 创建数组副本的多维数组

我想生成一个有序数字数组,然后将其乘以另一个数组:

[ [0,1,2,3,4,5] [0,1,2,3,4,5] [0,1,2,3,4,5] ... [0,1,2,3,4,5] ]
Run Code Online (Sandbox Code Playgroud)

我可以生成第一个 [0,1,2,3,4,5] nums = np.arange(0, 6),但是如果我乘以列表中的一个数字,它只会增加值 = [nums* 3] = [0,3,6,9,12,15]。我怎样才能做到这一点 ?

python arrays numpy multidimensional-array numpy-ndarray

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

Numpy:连接不同的数据类型,同时保留每个数据类型

我有 3 个数组,我想沿着轴 1 连接它们。它们的数据类型是 np.float32、U32 和 np.float32。当我像这样连接时:

np.concatenate((A,B,C), axis=1)
Run Code Online (Sandbox Code Playgroud)

结果的数据类型是“U32”。我想保留 A 列和 C 列的 float32 数据类型。我该如何执行此操作?

python numpy numpy-ndarray

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

将 3D numpy 拆分为 3 个不同的数组

我有 numpy.array pf shape (64 , 64 , 64) 我想将它分成 3 个变量,所以

x.shape ==> (64) 

y.shape ==> (64) 

z.shape ==> (64) 
Run Code Online (Sandbox Code Playgroud)

由于每个暗淡代表体素坐标 (x,y,z) ,我尝试使用dsplit()但没有运气。有什么建议吗?

python voxel multidimensional-array numpy-slicing numpy-ndarray

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

'numpy.ndarray' 对象如何不是 'numpy.ndarray' 对象?

当您调用 DataFrame.to_numpy() 时,pandas 将找到可以容纳 DataFrame 中所有数据类型的 NumPy 数据类型。但是如何进行反向操作呢?

我有一个“numpy.ndarray”对象“pred”。它看起来像这样:

[[0.00599913 0.00506044 0.00508315 ... 0.00540191 0.00542058 0.00542058]]

我正在尝试这样做:

 pred = np.uint8(pred)
 print("Model predict:\n", pred.T)
Run Code Online (Sandbox Code Playgroud)

但我得到:

[[0 0 0 ... 0 0 0]]

为什么,转换后,我没有得到这样的东西:

0 0 0 0 0 0 ... 0 0 0 0 0 0

以及如何将 pred 写入文件?

pred.to_csv('pred.csv', header=None, index=False)
pred = pd.read_csv('pred.csv', sep=',', header=None)
Run Code Online (Sandbox Code Playgroud)

给出错误信息:

AttributeError                            Traceback (most recent call last)
<ipython-input-68-b223b39b5db1> in <module>()
----> 1 pred.to_csv('pred.csv', header=None, index=False)
      2 pred = pd.read_csv('pred.csv', sep=',', header=None)
AttributeError: 'numpy.ndarray' object …
Run Code Online (Sandbox Code Playgroud)

python numpy export-to-csv pandas numpy-ndarray

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

如何将一维数组转换为 3d 数组(将灰度图像转换为 rgb 格式)?

我有一个 numpy 数组格式的图像,我编写了假设 rgb 图像作为输入的代码,但我发现输入由黑白图像组成。

对于什么应该是 RGB 即 (256,256,3) 维图像,我将输入作为灰度 (256,256) 数组图像,我想将其转换为 (256,256,3)

这是我在 numpy 数组中的内容:

[[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 0 ... 0 0 0]]
(256, 256)
Run Code Online (Sandbox Code Playgroud)

这就是我想要的:(对于上面数组中的每个值,相同元素的数组 3 次)

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

python arrays numpy numpy-ndarray array-broadcasting

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

Numpy:在 ndarray 的每一行中查找第二大值的索引

我有一个[10,10] numpy.ndarray. 我试图让索引成为每一行中第二大的数字。所以对于数组:

[101   0   1   0   0   0   1   1   2   0]
[  0 116   1   0   0   0   0   0   1   0]
[ 1  4 84  2  2  0  2  4  6  1]
[ 0  2  0 84  0  6  0  2  3  0]
[ 0  0  1  0 78  0  0  2  0 11]
[ 2  0  0  1  1 77  5  0  2  0]
[ 1  2  1  0  1  2 94  0  1 …
Run Code Online (Sandbox Code Playgroud)

python numpy numpy-ndarray

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

总结numpy数组中的非零元素

我想对数组 (1-d) 的非零元素求和,但对正整数和负整数(它们只能是 1 和 2)分别进行汇总,并在它们所在的位置显示零。

数组示例:

array = np.array([0, 0, 0, -1, -1, 0, 1, 2, 1, 1, 0, -1, 0, 1, 1, -1, -2])
Run Code Online (Sandbox Code Playgroud)

输出:

array([0, 0, 0, -2, 0, 5, 0, -1, 0, 2, -3])
Run Code Online (Sandbox Code Playgroud)

我认为我的问题是我不知道如何将数组中的正值和负值序列分开。

python numpy numpy-ndarray

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

设置 numpy 数组的列值的奇怪结果

在下面的脚本中,我想将旋转矩阵应用于(Nx3)数组的前两列。

rotate_mat = lambda theta: np.array([[np.cos(theta),-np.sin(theta)],[np.sin(theta),np.cos(theta)]])

rot_mat = rotate_mat(np.deg2rad(90))

basis1 = np.array([[i+1,j+1,k+1] for k in range(3) for j in range(3) for i in range(3)])
basis2 = basis1.copy()
rot = basis2[:,0:2] @ rot_mat

print('rot','\n',rot[:3],'\n')
print('basis2','\n',basis2[:3],'\n')

basis2[:,0:2] = rot
print('basis2 after','\n',basis2[:3])
Run Code Online (Sandbox Code Playgroud)

运行此脚本后,我获得了此输出

rot 
 [[ 1. -1.]
 [ 1. -2.]
 [ 1. -3.]] 

basis2 
 [[1 1 1]
 [2 1 1]
 [3 1 1]] 

basis2 after 
 [[ 1  0  1]
 [ 1 -2  1]
 [ 1 -3  1]]
Run Code Online (Sandbox Code Playgroud)

正如你所看到的basis2[:,0:2] = rot …

python numpy numpy-slicing numpy-ndarray

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

Numpy选择具有沿轴条件的元素

我有一个二维 numpy 数组 x 为:

[  [ 1,  2,  3],
   [ 4,  5,  6],
   [ 7,  8,  9],
   [10, 11, 12],
   [13, 14, 15],
   [16, 17, 18],
   [19, 20, 21],
   [22, 23, 24],
   [25, 26, 27],
   [28, 29, 30],
   [31, 32, 33],
   [34, 35, 36],
   [37, 38, 39],
   [40, 41, 42],
   [43, 44, 45],
   [46, 47, 48],
   [49, 50, 51],
   [52, 53, 54],
   [55, 56, 57],
   [58, 59, 60]  ]
Run Code Online (Sandbox Code Playgroud)

我想提取行中任何元素都小于 25 的行的参数。所以,我需要输出的是[0,1,2,3,4,5,6,7]仅行,但 usingnp.where(x<35)是为我提供所有可能值的 2D 参数列表。换句话说,我想要的是 …

python numpy conditional-statements numpy-ndarray

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