Unable to drop columns from a pandas dataframe

Viewed 2475

I am trying to drop a column from a pandas dataframe as follows:

df = pd.read_csv('Caravan_Dataset.csv')
X = df.drop('Purchase',axis=1)
y = df['Purchase'] 

but it does not work. I also tried the following one:

df = pd.read_csv('Caravan_Dataset.csv')
X = df.drop('Purchase',axis=1,inplace=True)
y = df['Purchase']

but it does not work neither. ıt keeps giving an error like Purchase is still on the columns. Any idea about how can I do it?

2 Answers

When inplace = True , the data is modified in place, which means it will return nothing and the dataframe is now updated. When inplace=False, you will need to assign it to something new.

Change your code from:

X = df.drop('Purchase',axis=1,inplace=True)

To this:

df.drop('Purchase',axis=1,inplace=True)

Or, alternatively use inplace=False (which is the default) and returns a copy of the object, and use:

X = df.drop('Purchase',axis=1)

You have to assign it to df like df = df.drop('column_name',asix=1)

Related