假设我有两个数组,例如:
a = array([ 0.36981727, 0.06066488, 0.73031016])
b = array([[ 0.12375904, 0.11647815, 0.56665118],
[ 0.9421819 , 0.58797789, 0.26831203],
[ 0.25769 , 0.02517343, 0.76701222]])
其中 的每个元素a
对应于 b 的一个数组。b
现在为了对“a”进行排序并在我做的过程中跟踪其对应的向量:
ziped_and_sorted = np.array(sorted(zip(a,b), key=operation.itemgetter(0), reverese =True),'object')
然后我需要再次拆分 a 和 b,所以:
a = ziped_and_sorted[:,0]
In [158]: a
Out[158]: array([0.369817272838, 0.0606648844006, 0.730310164248], dtype=object)
b = ziped_and_sorted[:,1]
In [157]: b
Out[157]:
array([[ 0.12375904 0.11647815 0.56665118],
[ 0.9421819 0.58797789 0.26831203],
[ 0.25769 0.02517343 0.76701222]], dtype=object)
问题是b.shape
返回 (3,)
而不是(3,3)
. 这很重要,因为我需要进行矩阵乘法b
并且问题会导致dimension mismatched
错误。
PS:如果您有更好的解决方案,请提出建议。