我有一个像这样的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) 我有一个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)
但我觉得有一种更好,更聪明的方式.
我有一个包含重复非负整数的数组,例如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)
有没有更好的方法?
我有K=2和N=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)
我怎么能这样做一般K和N?
就像有N垃圾箱和K物品一样,我想把所有可能的物品分配到垃圾箱,但从开始
因此在该示例中(1, 1)意味着所有项目都在箱子1中,(2, 2)意味着所有物品都在箱子2中,等等(1, 2)意味着物品1在箱子1中而物品2在箱子2中,等等.
我试图使用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)
为什么是这样?