# Want to change column3 to show up first
df = pd.Dataframe({"column1":(1,2,3),"column2":(4,5,6),"column3":(7,8,9)}# From all solutions I could find, this seems to be the best performance wise:
col = df.pop(col_name)
df.insert(0, col.name, col)# <- works in place and returns None (at least for me)
In [39]: df
Out[39]:01234 mean
00.1727420.9156610.0433870.7128330.190717110.1281860.4247710.5907790.7710800.617472120.1257090.0858940.9897980.8294910.155563130.7425780.1040610.2997080.6167510.951802140.7211180.5281560.4213600.1058860.322311150.9008780.0820470.2246560.1951620.736652160.8978320.5581080.3180160.5865630.507564170.0271780.3751830.9302480.9217860.337060180.7630280.1829050.9317560.1106750.423398190.8489960.3105620.1408730.3045610.4178081
In [40]: df = df[['mean',4,3,2,1]]