2017-10-09 47 views

回答

0

您可以使用np.argsort,如@NPE here所做的那样。以下是两个较小阵列的示例:

def nlargest_cols(a, n): 
    return a[:, sorted(a.sum(axis=0).argsort()[-n:][::-1])] 

# `a` is a 3x4 array with column sums getting 
#  larger from left to right. 
a = np.arange(12).reshape(3,4) 

# `b` is `a` rotated 2 turns. 
b = np.rot90(a, 2) 

print(nlargest_cols(a, 2)) 
# [[ 2 3] 
# [ 6 7] 
# [10 11]] 

print(nlargest_cols(b, 3)) 
# [[11 10 9] 
# [ 7 6 5] 
# [ 3 2 1]]