使用列名更改DataFrame列的顺序

时间:2016-01-14 17:32:37

标签: python python-2.7 dataframe

我需要将第3列移动到列列表的末尾。这可以按如下方式完成:

cols = df.columns.tolist()
cols = cols[0:2] + cols[4:] + cols[3]
df= df[cols]

但是如果我不知道我感兴趣的专栏索引怎么办呢。让我们说我唯一知道的是名为MyMagicCol的专栏应该移动到列列表的末尾。 我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

如果您想在列表中执行此操作,并且知道您感兴趣的列的名称,则可以这样做

cols = [c for c in df.columns if c != 'MyMagicCol'] + ['MyMagicCol']
df = df[cols]

您也可以使用df.loc执行此操作,如果您想直接使用列,请使用列名称对数据帧进行切片。