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

基于列名[duplicate]对数据帧中的列重新排序

仇睿
2023-03-14

我有一个超过200列的dataframe。问题在于订单生成时的状态

['Q1.3','Q6.1','Q1.2','Q1.1',......]

我需要按如下方式重新排列这些列:

['Q1.1','Q1.2','Q1.3',.....'Q6.1',......]

在Python中有什么方法可以做到这一点吗?

共有3个答案

侯沈义
2023-03-14

你可以只做:

df[sorted(df.columns)]

编辑:较短的是

df[sorted(df)]
冷宏茂
2023-03-14

您还可以更简洁地执行以下操作:

df.sort_index(axis=1)

请确保将结果分配回:

df = df.sort_index(axis=1)

或者,在适当的地方进行:

df.sort_index(axis=1, inplace=True)
东方建修
2023-03-14
df = df.reindex(sorted(df.columns), axis=1)

这假定对列名进行排序将给出所需的顺序。如果您的列名不按字典顺序排序(例如,如果您希望列Q10.3出现在Q9.1之后),则需要进行不同的排序,但这与熊猫无关。

 类似资料:
  • 我有一个这样的数据帧(): 我想基本上删除重复记录,以便字段是唯一的。我不关心被丢弃的记录,在这种情况下,地址已经被删除,所以唯一通过的是拼写错误。我想要以下结果的数据框: 在R中,基本上是这样做的: 但是我需要一种方法在熊猫身上做到这一点。

  • 我有一个像这样的数据框- 我有一个这样的列表- 现在,我想根据列名列表对数据框进行排序 因此,新的数据框将有列名称-

  • 我有麻烦重命名基于csv的数据帧的标头。 我得到了以下数据帧:df1: 现在我想根据csv文件更改列名(第一行),如下所示: 因此,我期望数据帧如下所示: 有什么想法吗?感谢您的帮助:)

  • 我有一只这样的熊猫 我如何根据集合(例如)中的值对其进行排序 设置顺序=('1','3','2','4') 产量 谢谢

  • 我有一个数据集,我想根据该行的2或列值从数据框中删除行。例如-我有关于美国所有电视节目的数据帧,我需要根据电视节目的季节和剧集删除电视节目的特定行。就像我需要删除高谭市电视台的行,但只删除包含第四季和第十集的行。 如果我能在这方面得到帮助,我将不胜感激。

  • 我有一个数据帧如下所示: 如何根据性别的np值转换dataframe? 我想要原始数据帧df被拆分为df1(姓名,年龄,性别,高度,日期),它将具有性别的值(df的前3行)