相关疑难解决方法(0)

Numpy在哪里功能多种条件

我有一系列称为dists的距离.我想选择两个值之间的dists.我写了以下代码行来做到这一点:

 dists[(np.where(dists >= r)) and (np.where(dists <= r + dr))]
Run Code Online (Sandbox Code Playgroud)

但是,这仅选择条件

 (np.where(dists <= r + dr))
Run Code Online (Sandbox Code Playgroud)

如果我通过使用临时变量顺序执行命令,它可以正常工作.为什么上面的代码不起作用,我如何让它工作?

干杯

python numpy

114
推荐指数
6
解决办法
19万
查看次数

获取两个2D numpy数组的相交行

我想在两个2D numpy数组中获得相交(公共)行.例如,如果以下数组作为输入传递:

array([[1, 4],
       [2, 5],
       [3, 6]])

array([[1, 4],
       [3, 6],
       [7, 8]])
Run Code Online (Sandbox Code Playgroud)

输出应该是:

array([[1, 4],
       [3, 6])
Run Code Online (Sandbox Code Playgroud)

我知道如何用循环来做这件事.我正在寻找一种Pythonic/Numpy方式来做到这一点.

python numpy

33
推荐指数
5
解决办法
2万
查看次数

在numpy数组中查找多个值的行索引

我有一个数组X:

X = np.array([[4,  2],
              [9,  3],
              [8,  5],
              [3,  3],
              [5,  6]])
Run Code Online (Sandbox Code Playgroud)

我希望在这个数组中找到几个值的行的索引:

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

对于这个例子,我想要一个结果,如:

[0,3,4]
Run Code Online (Sandbox Code Playgroud)

我有一个代码这样做,但我认为它过于复杂:

X = np.array([[4,  2],
              [9,  3],
              [8,  5],
              [3,  3],
              [5,  6]])

searched_values = np.array([[4, 2],
                            [3, 3],
                            [5, 6]])

result = []

for s in searched_values:
    idx = np.argwhere([np.all((X-s)==0, axis=1)])[0][1]
    result.append(idx)

print(result)
Run Code Online (Sandbox Code Playgroud)

我找到了类似问题的答案,但它仅适用于1d阵列.

有没有办法以更简单的方式做我想做的事情?

python arrays numpy

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

标签 统计

numpy ×3

python ×3

arrays ×1