you can just select the columns you want without deleting or dropping:
collist = ['col1', 'col2', 'col3']
df1 = df[collist]
Just pass a list of the columns you desire
You can also retrieve the list of columns and then select from that list
collist = df.columns.tolist()
# you can now select from this list any arbritrary range
df1 = df[collist[0:1]]
# or remove a column
collist.remove('col2')
# now select
df1 = df[collist]
# df1 will now only have 'col1' and 'col3'