Dropping data rows and columns
When working with tabular data, we may have reason to drop some rows or columns within our dataset. Sometimes, we may need to drop columns or rows either because they are erroneous or irrelevant. In pandas
, we have the flexibility to drop a single row/column or multiple rows/columns. We can use the drop
method to achieve this.
Getting ready
We will work with the full Marketing Campaign data for this recipe.
How to do it…
We will drop rows and columns using the pandas
library:
- Import the
pandas
library:import pandas as pd
- Load the
.csv
file into a dataframe usingread_csv
. Then, subset the dataframe to include only relevant columns:marketing_data = pd.read_csv("data/marketing_campaign.csv")
marketing_data = marketing_data[['ID', 'Year_Birth', 'Kidhome', 'Teenhome']]
- Inspect the data. Check the first few rows. Check the number of columns and rows:
marketing_data.head()
    ID    Year_Birth    Education    Marital_Status
0    5524    1957    Graduation    Single
1    2174    1954    Graduation    Single
2    4141    1965    Graduation    Together
3    6182    1984    Graduation    Together
4Â Â Â Â 5324Â Â Â Â 1981Â Â Â Â PhDÂ Â Â Â Married
marketing_data.shape
(5, 4)
- Delete a specified row at index value
1
:marketing_data.drop(labels=[1], axis=0)
    ID    Year_Birth    Education    Marital_Status
0    5524    1957    Graduation    Single
2    4141    1965    Graduation    Together
3    6182    1984    Graduation    Together
4Â Â Â Â 5324Â Â Â Â 1981Â Â Â Â PhDÂ Â Â Â Married
- Delete a single column:
marketing_data.drop(labels=['Year_Birth'], axis=1)
    ID    Education    Marital_Status
0    5524    Graduation    Single
1    2174    Graduation    Single
2    4141    Graduation    Together
3    6182    Graduation    Together
4Â Â Â Â 5324Â Â Â Â PhDÂ Â Â Â Married
Good job! We have dropped rows and columns from our dataset.
How it works...
We refer to pandas
as pd
in step 1. In step 2, we use read_csv
to load the .csv
file into a pandas
dataframe and call it marketing_data
. We also subset the dataframe to include only four relevant columns. In step 3, we inspect the dataset using head()
to see the first five rows in the dataset. Using the shape
method, we get a sense of the number of rows and columns from the tuple respectively.
In step 4, we use the drop
method to delete a specified row at index value 1
and view the result, which shows the row at index 1
has been removed. The drop
method takes a list of indices as the first argument and an axis
value as the second. The axis
value determines whether the drop operation will be performed on a row or column. A value of 0
is used for rows while 1
is used for columns.
In step 5, we use the drop
method to delete a specified column and view the result, which shows the specific column has been removed. To drop columns, we need to specify the name of the column and provide the axis
value of 1
.
There’s more...
We can drop multiple rows or columns using the drop
method. To achieve this, we need to specify all the row indices or column names in a list and provide the respective axis value of 0
or 1
for rows and columns respectively.