python - How to change the order of DataFrame columns? -


i have following dataframe (df):

import numpy np import pandas pd  df = pd.dataframe(np.random.rand(10, 5)) 

i add more column(s) assignment:

df['mean'] = df.mean(1) 

how can move column mean front, i.e. set first column leaving order of other columns untouched?

one easy way reassign dataframe list of columns, rearranged needed.

this have now:

in [6]: df out[6]:           0         1         2         3         4      mean 0  0.445598  0.173835  0.343415  0.682252  0.582616  0.445543 1  0.881592  0.696942  0.702232  0.696724  0.373551  0.670208 2  0.662527  0.955193  0.131016  0.609548  0.804694  0.632596 3  0.260919  0.783467  0.593433  0.033426  0.512019  0.436653 4  0.131842  0.799367  0.182828  0.683330  0.019485  0.363371 5  0.498784  0.873495  0.383811  0.699289  0.480447  0.587165 6  0.388771  0.395757  0.745237  0.628406  0.784473  0.588529 7  0.147986  0.459451  0.310961  0.706435  0.100914  0.345149 8  0.394947  0.863494  0.585030  0.565944  0.356561  0.553195 9  0.689260  0.865243  0.136481  0.386582  0.730399  0.561593  in [7]: cols = df.columns.tolist()  in [8]: cols out[8]: [0l, 1l, 2l, 3l, 4l, 'mean'] 

rearrange cols in way want. how moved last element first position:

in [12]: cols = cols[-1:] + cols[:-1]  in [13]: cols out[13]: ['mean', 0l, 1l, 2l, 3l, 4l] 

then reorder dataframe this:

in [16]: df = df[cols]  #    or    df = df.ix[:, cols]  in [17]: df out[17]:        mean         0         1         2         3         4 0  0.445543  0.445598  0.173835  0.343415  0.682252  0.582616 1  0.670208  0.881592  0.696942  0.702232  0.696724  0.373551 2  0.632596  0.662527  0.955193  0.131016  0.609548  0.804694 3  0.436653  0.260919  0.783467  0.593433  0.033426  0.512019 4  0.363371  0.131842  0.799367  0.182828  0.683330  0.019485 5  0.587165  0.498784  0.873495  0.383811  0.699289  0.480447 6  0.588529  0.388771  0.395757  0.745237  0.628406  0.784473 7  0.345149  0.147986  0.459451  0.310961  0.706435  0.100914 8  0.553195  0.394947  0.863494  0.585030  0.565944  0.356561 9  0.561593  0.689260  0.865243  0.136481  0.386582  0.730399 

Comments

Popular posts from this blog

html - How to set bootstrap input responsive width? -

javascript - Highchart x and y axes data from json -

javascript - Get js console.log as python variable in QWebView pyqt -