基于名称或标签的(使用正则表达式语法)
df.filter(regex='[A-CEG-I]') # does NOT depend on the column order
请注意,此处允许使用任何正则表达式,因此此方法可能非常通用。例如,如果您希望所有以大写字母或小写字母“ A”开头的列,则可以使用:
df.filter(regex='^[Aa]')
基于位置(取决于列顺序)
df[ list(df.loc[:,'A':'C']) + ['E'] + list(df.loc[:,'G':'I']) ]
请注意,与基于标签的方法不同,此方法仅在您的列按字母顺序排序时才有效。但是,这不一定是问题。例如,如果您的列转到
['A','C','B'],则可以
'A':'C'在上方替换为
'A':'B'。
漫漫长路
为了完整起见,@ Magdalena总是显示简单地单独列出每一列的选项,尽管随着列数的增加它可能会更加冗长:
df[['A','B','C','E','G','H','I']] # does NOT depend on the column order
以上任何方法的结果
A B C E G H I0 -0.814688 -1.060864 -0.008088 2.697203 -0.763874 1.793213 -0.0195201 0.549824 0.269340 0.405570 -0.406695 -0.536304 -1.231051 0.0580182 0.879230 -0.666814 1.305835 0.167621 -1.100355 0.391133 0.317467



