当前位置: 首页 > 知识库问答 >
问题:

根据列名列表对数据帧进行排序[重复]

晁璞
2023-03-14

我有一个像这样的数据框-

d = {'class': [0, 1,1,0,1,0], 'A': [0,4,8,1,0,0],'B':[4,1,0,0,3,1],'Z':[0,9,3,1,4,7]}
df = pd.DataFrame(data=d)

    A   B   Z   class
0   0   4   0   0
1   4   1   9   1
2   8   0   3   1
3   1   0   1   0
4   0   3   4   1
5   0   1   7   0

我有一个这样的列表-['Z','B','class','A']

现在,我想根据列名列表对数据框进行排序

因此,新的数据框将有列名称-

Z  B  class A

共有1个答案

孔阳炎
2023-03-14

使用reindex

L = ['Z','B','class','A']
df = df.reindex(columns=L)

或按子集选择:

df = df[L]
 类似资料:
  • 我有一个,有200多列。问题在于订单生成时 我需要对这些列进行如下排序: 我有办法在Python中做到这一点吗?

  • 问题内容: 我想对以下数据框进行排序: 我想对它进行排序,以便根据列表对LSE列进行重新排序: 当然,其他列也需要相应地重新排序。有没有办法在熊猫里做到这一点? 问题答案: pandas0.15版中对s的改进支持使您可以轻松做到这一点: 如果这只是临时排序,则可能不希望将LSE列保留为a ,但是如果您希望这种排序能够在不同的上下文中使用几次,则是一个很好的解决方案。 在更高版本的,中,已被替换为,

  • 我有一个数据表,我想在显示前排序。排序基于聚合。在下面的例子中,我已经计算了一些汽车,我想按每个制造商的汽车总数来订购数据框,按升序排列,例如“奔驰”,然后是“宝马”,然后是“奥迪”。 我想保留所有原始列-聚合仅用于确定排序顺序。 有没有一种更像蟒蛇/熊猫的方法来做到这一点,因为上面的感觉是我为一些应该简单的事情付出了太多的努力。

  • 我有一个超过200列的。问题在于订单生成时的状态 我需要按如下方式重新排列这些列: 在Python中有什么方法可以做到这一点吗?

  • 问题内容: 我有以下清单 我想根据其子列表的长度对列表进行排序。结果应为: 问题答案: 使用和中可用的参数。它指定一个参数的功能,该参数用于从每个列表元素中提取比较键

  • 编辑:对于同样的问题,我尝试编写一个比较器。但它不起作用