0 votes
1 view
in Data Science by (12.2k points)

I have some data and when I import it I get the following unneeded columns I'm looking for an easy way to delete all of these

   'Unnamed: 24', 'Unnamed: 25', 'Unnamed: 26', 'Unnamed: 27',

   'Unnamed: 28', 'Unnamed: 29', 'Unnamed: 30', 'Unnamed: 31',

   'Unnamed: 32', 'Unnamed: 33', 'Unnamed: 34', 'Unnamed: 35',

   'Unnamed: 36', 'Unnamed: 37', 'Unnamed: 38', 'Unnamed: 39',

   'Unnamed: 40', 'Unnamed: 41', 'Unnamed: 42', 'Unnamed: 43',

   'Unnamed: 44', 'Unnamed: 45', 'Unnamed: 46', 'Unnamed: 47',

   'Unnamed: 48', 'Unnamed: 49', 'Unnamed: 50', 'Unnamed: 51',

   'Unnamed: 52', 'Unnamed: 53', 'Unnamed: 54', 'Unnamed: 55',

   'Unnamed: 56', 'Unnamed: 57', 'Unnamed: 58', 'Unnamed: 59',

   'Unnamed: 60'

They are indexed by 0-indexing so I tried something like

    df.drop(df.columns[[22, 23, 24, 25, 

    26, 27, 28, 29, 30, 31, 32 ,55]], axis=1, inplace=True)

But this isn't very efficient. I tried writing some for loops but this struck me as bad Pandas behaviour. Hence i ask the question here.

I've seen some examples which are similar (Drop multiple columns pandas) but this doesn't answer my question.

1 Answer

0 votes
by (17.8k points)

For deleting multiple columns based on column names:

df.drop(df.columns[22:56], axis=1, inplace=True)

Or creating a list for multiple columns.

col = list(df.columns)[22:56]

df.drop(col, axis=1, inplace=1)

...