Name- or Label-Based (using regular expression syntax)
df.filter(regex='[A-CEG-I]')   # does NOT depend on the column orderLocation-Based (depends on column order)
df[ list(df.loc[:,'A':'C']) + ['E'] + list(df.loc[:,'G':'I']) ]
Note that unlike the label-based method, this only works if your columns are alphabetically sorted. This is not necessarily a problem, however. For example, if your columns go 
['A','C','B'], then you could replace 'A':'C' above with 'A':'B'.The Long Way
And for completeness, you always have the option shown by @Magdalena of simply listing each column individually, although it could be much more verbose as the number of columns increases:
df[['A','B','C','E','G','H','I']]   # does NOT depend on the column orderResults for any of the above methods
          A         B         C         E         G         H         I
0 -0.814688 -1.060864 -0.008088  2.697203 -0.763874  1.793213 -0.019520
1  0.549824  0.269340  0.405570 -0.406695 -0.536304 -1.231051  0.058018
2  0.879230 -0.666814  1.305835  0.167621 -1.100355  0.391133  0.317467from : https://stackoverflow.com/questions/29241836/select-multiple-columns-by-labels-pandas
 
No comments:
Post a Comment