我有兩個數組,一個叫做形狀爲(99,)的幅度的一維數組和一個叫做具有形狀模式(55714,99)的二維數組。我想對這兩個數組進行排序,使得Modes數組的列根據幅度進行排列。這實際上是爲了找到占主導地位的模式而完成的。同時對一維數組和二維數組排序(按列)
Amplitudes_absolute是我的一維數組,Modes_st是我的二維數組。兩者都是未分類的。
Amplitudes_absolute.shape給出(99) Modes_st.shape給我(55714,99)
我想保留排序方式的形狀(55714,99),但與列排序根據Amplitude_absolute的遞增值。
我想:
Amplitudes_absolute_sorted, Modes_sorted = [list(x) for x in zip(*sorted(zip(Amplitudes_absolute, Modes_st), key=itemgetter(0)))]
Modes_sorted = np.squeeze(np.array(Modes_sorted)) #To obtain an array
和
Amplitudes_absolute_sorted = np.sort(Amplitudes_absolute)
p = Amplitudes_absolute_sorted.argsort()
Modes_sorted = Modes_st[p]
兩個給我的錯誤的形狀,如Modes_sorted.shape給出(99,99),而不是(55714,99)。
有沒有辦法做到這一點排序?
完美的作品! Dankeschön! – 2014-09-30 08:43:02