相关疑难解决方法(0)

通过布尔掩码数组选择numpy数组的元素

我猜答案即将到来,但我看不到它:-(

我有一个长度为n的布尔掩码数组:

a = np.array([True, True, True, False, False])
Run Code Online (Sandbox Code Playgroud)

我有一个带有n列的二维数组:

b = np.array([[1,2,3,4,5], [1,2,3,4,5]])
Run Code Online (Sandbox Code Playgroud)

我想要一个只包含"True"值的新数组,例如:

c = ([[1,2,3], [1,2,3]])
Run Code Online (Sandbox Code Playgroud)

a 不起作用,因为它包含我不想要的假列的"0"

c = np.delete(b, a, 1) does not work
Run Code Online (Sandbox Code Playgroud)

有什么建议?谢谢!

python indexing boolean numpy mask

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

如何使numba @jit使用所有cpu核心(parallelize numba @jit)

我正在使用numbas @jit装饰器在python中添加两个numpy数组.如果我使用@jit相比,性能是如此之高python.

但是,即使我传入,也没有使用所有CPU内核@numba.jit(nopython = True, parallel = True, nogil = True).

有没有办法利用numba的所有CPU内核@jit.

这是我的代码:

import time                                                
import numpy as np                                         
import numba                                               

SIZE = 2147483648 * 6                                      

a = np.full(SIZE, 1, dtype = np.int32)                     

b = np.full(SIZE, 1, dtype = np.int32)                     

c = np.ndarray(SIZE, dtype = np.int32)                     

@numba.jit(nopython = True, parallel = True, nogil = True) 
def add(a, b, c):                                          
    for i in range(SIZE):                                  
        c[i] = a[i] + b[i]                                 

start = …
Run Code Online (Sandbox Code Playgroud)

python jit multicore numpy numba

15
推荐指数
2
解决办法
6112
查看次数

将1d数组转换为下三角矩阵

我想将1维数组转换为较低的零对角矩阵,同时保留所有数字.

我知道numpy.tril函数,但它用零替换了一些元素.我需要扩展矩阵以包含所有原始数字.

例如:

[10,20,40,46,33,14,12,46,52,30,59,18,11,22,30,2,11,58,22,72,12]

应该

0
10 0
20 40 0
46 33 14 0
12 46 52 30 0
59 18 11 22 30 0
2 11 58 22 72 12 0
Run Code Online (Sandbox Code Playgroud)

python numpy python-3.x

11
推荐指数
2
解决办法
1850
查看次数

标签 统计

numpy ×3

python ×3

boolean ×1

indexing ×1

jit ×1

mask ×1

multicore ×1

numba ×1

python-3.x ×1