我使用的是SciPy生成的集群数据,我想用自定义的排序顺序对数据进行排序。在
假设我的数据如下所示:
leafIDs = [4,5,3,1,2]
rowHeaders = ['lorem','ipsum','dolor','sit','amet']
两个列表leafIDs
和{lorem
的行的叶ID为4
,ipsum
的ID为{
现在我想按一个自定义顺序对这两个数组进行排序,同样,它的长度将始终与前面提到的两个列表的长度相同。您可以将其视为rowHeaders
的乱序:
rowHeaders_custom = ['amet','lorem','sit','ipsum','dolor']
期望的结果,其中leafIDs
将根据rowHeaders_custom
及其与{
# Desired outcome
leafIDs_custom = [2,4,1,5,3]
到目前为止,我尝试的方法如下:
leafIDs
和{zippedRows = zip(leafIDs, rowHeaders)
。在rowHeaders_custom
对元组列表进行排序。在然而,我在第二步遇到了障碍。如果有任何关于如何执行这种定制排序的建议,那就太好了。我知道我试图用另一个列表排序元组列表可能会遇到XY问题,但我对sort()
的理解相当有限。在
如果你用
zippedRows
做一个dict
怎么办?一、 e捕捉到,然后:
^{pr2}$你可以从中提取价值:
我不知道,也许还有一种更像Python的方法来做,但这就是我正在想出的解决办法。在
我想你有几排要重新安排,而不是一排。在
这里有一个只执行列转换一次的解决方案, 没有为要排序的每一行(元组)构建映射。毕竟,目的地还是一样的。在
它标记头的原始位置,然后从这些位置构建重新排列的元组
生产
^{pr2}$相关问题 更多 >
编程相关推荐