shifting specific column to before/after specific column in dataframe
If I get the question correct, you just need to change the order of your columns. This can be simply done by reassigning the new order of your columns to the dataframe.

For example:

#['a', 'b', 'c'] &lt;-given columns order
df = df[['c', 'b', 'a']]


You can also use the built-in function reindex to accomplish you task as follow:

cols = df.columns.tolist() #['a', 'b', 'c']
new_cols = [['c', 'b', 'a']]
df = df.reindex(columns=new_cols)


EDIT:

If you have a large number of columns, the problem will arise in how you get the new_cols list. To do this you can use list indexing and slicing. Firstly get the index of columns you wnat to replace by using:

df.columns.get_loc("b") #1


Now suppose you have 699 columns and want to place the 100th and 200th column after the 7th one, you can do this:

cols = cols[0:7] + [cols[100]] + [cols[200]] + cols[8:100] + cols[101:200] + cols[201:]


You can now use this column to change the order of your columns in the above mentioned way. The expression will vary depending on your use case.