首页 > 解决方案 > 按另一个列表的顺序对齐三列 DataFrame

问题描述

我有一个名称列表的熊猫数据框,其坐标如下:

name1 3 100
name2 5 4
name3 7 5
...
name88 100 300
name21 30 40

我有另一个列表,它是一个单列系列,只有特定顺序的名称

name3
name10
name2
name6
...
name30

这两个数据帧的行数相同,但我需要重新排序第一个数据帧,以便名称的顺序与第二个数据帧的顺序相匹配。

我有但未能实现的想法是使用 pandas groupby 函数,并使用它根据第二个数据帧对第一个数据帧进行分组。

但任何想法都会有所帮助。

标签: pythonpandas

解决方案


假设您的数据框中的名称列被调用Name,而您的其他系列被调用names。那么这应该这样做:

 df = df.set_index('Name').reindex(index=names).reset_index()

推荐阅读