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.