我有一个有229行的Pandas数据框。我有一个索引号列表([47, 16, 59, ...]
),我想按照这个顺序重新排序数据框的行。
详细信息:我通过一个过滤器运行了DF(具体来说,scipy.cluster.hierarchy.dendrogram,设置get_leaves=True
)。返回值包括一个索引号列表(leaves
),按树状图叶节点的顺序排列。现在我想按该顺序对DF进行排序,以便绘制聚类。
我相信有很多方法可以合并一堆表并删除列,但是......有没有一种很好的惯用方法可以做到这一点?
3条答案
按热度按时间kse8i1jr1#
创建一个新列,将索引Map到正确的行,然后执行排序应该是最简单的方法。
我创建了一些虚拟数据以提供一个示例;
编码:
输出量:
注意,空和缺少的行将是由于索引和 Dataframe 索引不匹配。我没有花时间来确保索引有1-99和没有重复。
e0uiprwp2#
如果列表的形状与df相同,那么就像这样粘贴它,并按新创建的列排序
sy5wg1nm3#
如果要重置索引: