相关疑难解决方法(0)

将整数数组打印为十六进制数

我有一个使用创建的数组

array1 = np.array([[25,  160,   154, 233],
                   [61, 244,  198,  248],
                   [227, 226, 141, 72 ],
                   [190, 43,  42, 8]],np.int) ;
Run Code Online (Sandbox Code Playgroud)

显示为

[[25,  160, 154, 233]
 [61,  244, 198, 248]
 [227, 226, 141,  72]
 [190,  43,  42 ,  8]]
Run Code Online (Sandbox Code Playgroud)

如何将此数组显示为十六进制数字,如下所示:

[[0x04,  0xe0,  0x48, 0x28]
 [0x66,  0xcb,  0xf8, 0x06]
 [0x81,  0x19,  0xd3, 0x26]
 [0xe5,  0x9a,  0x7a, 0x4c]]
Run Code Online (Sandbox Code Playgroud)

注意:十六进制中的数字可能不是int中数字的真实转换.我已经填充十六进制数组只是为了举例说明我需要的东西.

python arrays numpy

18
推荐指数
4
解决办法
3万
查看次数

测试2d numpy数组的成员资格

我有两个相同大小的2D阵列

a = array([[1,2],[3,4],[5,6]])
b = array([[1,2],[3,4],[7,8]])
Run Code Online (Sandbox Code Playgroud)

我想知道a中的b行.

所以输出应该是:

array([ True,  True, False], dtype=bool)
Run Code Online (Sandbox Code Playgroud)

不做:

array([any(i == a) for i in b])
Run Code Online (Sandbox Code Playgroud)

因为a和b很大.

有一个函数可以执行此操作但仅适用于1D数组:in1d

python numpy

10
推荐指数
1
解决办法
2624
查看次数

从更多维的numpy数组中查找和删除

我有两个numpy数组:

p_a_colors=np.array([[0,0,0],
                     [0,2,0],
                     [119,103,82],
                     [122,122,122],
                     [122,122,122],
                     [3,2,4]])

p_rem = np.array([[119,103,82],
                     [122,122,122]])
Run Code Online (Sandbox Code Playgroud)

我想删除p_rem中p_a_colors中的所有列,所以我得到:

p_r_colors=np.array([[0,0,0],
                    [0,2,0],
                    [3,2,4]])
Run Code Online (Sandbox Code Playgroud)

我认为,有些东西应该像

p_r_colors= np.delete(p_a_colors, np.where(np.all(p_a_colors==p_rem, axis=0)),0)
Run Code Online (Sandbox Code Playgroud)

但我只是没有得到轴或[:]正确.

我知道

p_r_colors=copy.deepcopy(p_a_colors)
for i in range(len(p_rem)):
    p_r_colors= np.delete(p_r_colors, np.where(np.all(p_r_colors==p_rem[i], axis=-1)),0)
Run Code Online (Sandbox Code Playgroud)

会工作,但我试图避免(python)循环,因为我也希望性能正确.

python arrays numpy

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

标签 统计

numpy ×3

python ×3

arrays ×2