pythonpandasdataframedel

Delete a column from a Pandas DataFrame


To delete a column in a DataFrame, I can successfully use:

del df['column_name']

But why can't I use the following?

del df.column_name

Since it is possible to access the Series via df.column_name, I expected this to work.


Solution

  • As you've guessed, the right syntax is

    del df['column_name']
    

    It's difficult to make del df.column_name work simply as the result of syntactic limitations in Python. del df[name] gets translated to df.__delitem__(name) under the covers by Python.