我有一个包含任何类型数字的N x 100
的numpy
矩阵,我想要对其进行排序。
为了更加直观,我将使用虚拟值填充它:
import numpy as np
X = np.array( [[float(number) for number in range(100)] for _ in range(10)] )
# X
[[ 0. 1. 2. ..., 97. 98. 99.]
[ 0. 1. 2. ..., 97. 98. 99.]
[ 0. 1. 2. ..., 97. 98. 99.]
...,
[ 0. 1. 2. ..., 97. 98. 99.]
[ 0. 1. 2. ..., 97. 98. 99.]
[ 0. 1. 2. ..., 97. 98. 99.]]
我希望你能翻译所有的N行中的列,使用以下100个元素列表作为关键字进行排序:
# s
["butterfly", "zebra", "cactus", ... "animal", "xylitol", "yoyo"]
这样,输出结果看起来像这样:
# X_sorted
[[ 97. 0. 2. ..., 98. 99. 1.]
[ 97. 0. 2. ..., 98. 99. 1.]
[ 97. 0. 2. ..., 98. 99. 1.]
...,
[ 97. 0. 2. ..., 98. 99. 1.]
[ 97. 0. 2. ..., 98. 99. 1.]
[ 97. 0. 2. ..., 98. 99. 1.]]
基本上,我想获取
s
的字母排序输出,并将其应用于X
的列中。我该如何实现这一点?
我熟悉使用
key
的sort
命令,但我不知道在这种情况下如何将其应用于矩阵列。
X
是一个 numpy 矩阵,s
是一个列表。我对 Python 还很新,所以请告诉我如何更改问题中的显示格式,以避免混淆,如果它们以错误的方式显示。 - user8858897np.array(
或array(
来指示它是一个数组(当然,在结尾处有相应的)
)。 - Mad Physicist