In This Section we will be focusing on how to drop or delete the column when the column name starts with a specific string in pandas python. There are multiple ways to do it, we have also handled the case sensitiveness, we have used functions like startswith() along with drop() to achieve the same. let’s look at each of these cases in pandas with an example for each.
- Drop or Delete the column when the column name starts with a name or string in pandas – Case Sensitive
- Drop or Delete the column when the column name starts with a name or string in pandas – Case In Sensitive: All Case
Create Dataframe:
## create dataframe import pandas as pd data = {'product_Name': ['laptop', 'printer', 'tablet', 'desk', 'chair'], 'price': [1200, 150, 300, 450, 200], 'location_name':['Mumbai','Delhi','California','Newyork','London'], 'offer_percentage':[3,4,8,1,3], 'Name_of_customer':['Krishna','Ram','Johnathan','Joel','Christy'], 'name_of_country':['India','India','US','US','UK'], 'nick_name_of_customer':['Krish','Ram','John','Joe','Chris'] } df = pd.DataFrame(data) df
The Resultant dataframe is
Drop or Delete the column when the column name starts with a name or string in pandas – Case Sensitive
First lets drop or delete the column when the column name starts with a specific string or character, we have used the startswith() function in pandas python which will take the string or character as the input and we have excluded the column that starts with the string or character, in the below example we have dropped the column with the column name starting with “name”
# Delete the column name that starts with a name or string: case sensitive df1 = df.loc[:,~df.columns.str.startswith('name')] df1
column name which starts with only small case “name” is dropped .i.e the “name_of_country” column is dropped , so the resultant dataframe will be.
Delete the column when the column name starts with a name or string in pandas python – Case In Sensitive: All Case
We will be deleting the column when the column name starts with a specific string or character, using lower() function in pandas python which will filter based on the column name and have excluded the column that starts with the string or character, in the below example we have dropped the column with the column name starting with “name” or “Name” or “NAME”
# Delete the column that starts with a name or string : Case In Sensitive: All Case cols = [d for d in df.columns if d.lower()[:4] != 'name'] df1=df[cols] df1
column name which starts with all the case “name”, “Name” or “NAME” is dropped .i.e the “name_of_country” and “Name_of_customer” column is dropped , so the resultant dataframe will be.