python 按行交换/排序值

oalqel3c  于 2022-10-30  发布在  Python
关注(0)|答案(3)|浏览(112)

我有(N,2)numpy数组:

[3,5]
 [4,2]
 [1,6]
 [5,4]
 .....

我想交换每一行上的值,以便较大的值为FIRST

[5,3]
 [4,2]
 [6,1]
 [5,4]
 .....
wf82jlnq

wf82jlnq1#

您可以使用类似于以下内容的内容:

array.sort()
array = array[:, ::-1]

如果array是numpy数组

oymdgrw7

oymdgrw72#

ori_arr = np.array([[3, 5], [4, 2], [1, 6], [5, 4]])
print('''{}
The original array:
{}
'''.format("="*20, ori_arr))

# Straight forward way

for i in range(len(ori_arr)):
    ori_arr[i] = sorted(ori_arr[i], reverse=True)
print('''{}
The swapped array:
{}
'''.format("="*20, ori_arr))

结果如下:

wkftcu5l

wkftcu5l3#

下面是我尝试的答案,我得到了输出,也可能有有效的方法。

import numpy as np

    x=np.array([[1,2],[3,4],[7,6]])

    for i  in x :
        if i[0] >= i[1]:
        else:
            a= i[0]
            i[0]= i[1]
            i[1]= a

    print(x)

相关问题