小编Rib*_*ibz的帖子

如何用numpy降序排序?

我有一个像这样的numpy数组:

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

我想按降序排序这个矩阵的行,并得到排序矩阵的参数,如下所示:

As = array([[3, 1, 2, 0],
            [1, 3, 0, 2],
            [0, 3, 2, 1]])
Run Code Online (Sandbox Code Playgroud)

我做了以下事情:

import numpy
A = numpy.array([[1, 3, 2, 7], [2, 4, 1, 3], [6, 1, 2, 3]])
As = numpy.argsort(A, axis=1)
Run Code Online (Sandbox Code Playgroud)

但这让我按升序排序.此外,在我花了一些时间在互联网上寻找解决方案后,我希望必须有一个参数来argsort从numpy运行,这将颠倒排序的顺序.但是,显然没有这样的论点!为什么!?

有一个称为的论点order.我试过,猜测,numpy.argsort(..., order=reverse)但它不起作用.

我在这里找到了以前问题的解决方案,我发现我可以做到:

import numpy
A = numpy.array([[1, 3, 2, 7], [2, 4, 1, 3], [6, 1, 2, 3]])
As = …
Run Code Online (Sandbox Code Playgroud)

python sorting numpy

9
推荐指数
1
解决办法
3万
查看次数

如何在julialang中查找元素子集的最大索引?

我有一个A=[3, 5, 1, 2, 7, 9, 10, 2, 3]长度数组length(A)=9和一个S包含索引子集的集合1:9,例如S=Set([1, 3, 6, 8]).我想找到Aover 的最大值(值和索引)S.也就是说,最大值是9和索引6.

我试着这样做

A = [3, 5, 1, 2, 7, 9, 10, 2, 3];
S = Set([1, 3, 6, 8]);
B = [if i in S A[i] else 0 end for i in 1:length(A)];
findmax(B);
Run Code Online (Sandbox Code Playgroud)

但我觉得有一种更好,更聪明的方式.

julia

6
推荐指数
2
解决办法
390
查看次数

如何找到julialang中最后一个最大值的索引?

我有一个包含重复非负整数的数组,例如A=[5,5,5,0,1,1,0,0,0,3,3,0,0].我想找到最后一个最大值的位置A.对于所有人来说i,这是最大的指数.在我的例子中,.A[i]>=A[j]ji=3

我试图找到所有最大值的索引A然后找到这些索引的最大值:

A = [5,5,5,0,1,1,0,0,0,3,3,0,0];
Amax = maximum(A);
i = maximum(find(x -> x == Amax, A));
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法?

julia

3
推荐指数
1
解决办法
644
查看次数

如何在python中对所有组合进行排序?

我有K=2N=3我生成所有组合如下:

list(itertools.product(range(1, N+1), repeat=K))
Run Code Online (Sandbox Code Playgroud)

我明白了

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

我需要对这些组合进行排序才能获得

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

我怎么能这样做一般KN

就像有N垃圾箱和K物品一样,我想把所有可能的物品分配到垃圾箱,但从开始

  • 分配给bin 1,bin 2等的所有项目.
  • 分配给bin 1的K-1项目和bin 2中的一个项目等.
  • ...

因此在该示例中(1, 1)意味着所有项目都在箱子1中,(2, 2)意味着所有物品都在箱子2中,等等(1, 2)意味着物品1在箱子1中而物品2在箱子2中,等等.

python combinations

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

使用Python测试随机点是否属于圆周

我试图使用Python在圆周上生成一个随机点.

我有一个圆心(0,0)和半径50.我做了以下.

import numpy as np
angle = 2 * np.pi * np.random.rand()
x = np.cos(angle) * 50
y = np.sin(angle) * 50
Run Code Online (Sandbox Code Playgroud)

但是,当我测试看点是否实际上在圆周上时,我做了这个

x ** 2 + y ** 2 == 50 ** 2
Run Code Online (Sandbox Code Playgroud)

但我明白了

False
Run Code Online (Sandbox Code Playgroud)

为什么是这样?

python

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

标签 统计

python ×3

julia ×2

combinations ×1

numpy ×1

sorting ×1