In This Section we will be focusing on how to keep or select the column based on the column name in pandas python i.e. selecting the column when the column name starts with a string; keep or select the column when the column name ends with a string or name, and also select the column when the column name contains a specific string in pandas dataframe, There are multiple ways to do it, we have also handled the case sensitiveness, we have used functions like startswith() , endswith() along with select() to achieve the same. let’s look at each of these cases in pandas with an example for each.
- Keep or select the column when the column name starts with a name or string in pandas – Case Sensitive
- Keep or select the column when the column name starts with a name or string in pandas – Case In Sensitive: All Case
- Keep or select the column when the column name ends with a name or string in pandas – Case Sensitive
- Keep or select the column when the column name ends with a name or string in pandas – Case In Sensitive: All Case
- Keep or select the column when the column name contains certain string or name in pandas – case sensitive
- Keep or select the column when the column name contains certain string or name in pandas – case In sensitive : All Cases.
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
Keep or Select the column when the column name starts with a name or string in pandas – Case Sensitive
First lets select 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 selected the column that starts with the string or character, in the below example we have selected the column with the column name starting with “name”
# select the column 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 selected .i.e the “name_of_country” column is selected , so the resultant dataframe will be.
Keep or select the column when the column name starts with a name or string in pandas – Case In Sensitive: All Case
We will be selecting 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 selected the column that starts with the string or character, in the below example we have selected the column with the column name starting with “name” or “Name” or “NAME”
# Select 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 selected .i.e the “name_of_country” and “Name_of_customer” column is selected , so the resultant dataframe will be.
Keep or Select the column when the column name ends with a name or string in pandas – Case Sensitive
To select the column when the column name ends with a specific string or character, we have used the endswith() function in pandas python which will take the string or character as the input and we have selected the column that ends with the string or character, in the below example we have selected the column with the column name ending with “name”
# Select the column that Ends with a name or string : Case Sensitive df1 = df.loc[:,df.columns.str.endswith('name')] df1
column name which ends with only small case “name” is selected .i.e the “location_name” column is selected , so the resultant dataframe will be.
Keep or Select the column when the column name ends with a name or string in pandas – Case In Sensitive: All Case
We will be selecting the column when the column name ends with a specific string or character, using lower() function in pandas python which will filter based on the column name and have selected the column that starts with the string or character, in the below example we have selected the column with the column name ending with “name” or “Name” or “NAME”
# Select the column that Ends 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 ends with all the case “name”, “Name” or “NAME” is selected .i.e the “product_Name” and “location_name” column is selected , so the resultant dataframe will be.
Keep or Select the column when the column name contains certain string or name in pandas – case sensitive
We will be selecting the column when the column name contains a specific string or character, using filter() function in pandas python which will filter based on the column name and have selected the column that contains a specific string or character, in the below example we have selected the column with the column name containing “name”
# Select the column that Ends with a name or string : Case Sensitive df1 = df.loc[:,df.columns.str.endswith('name')] df1
column name which contains “name” is selected.i.e. “location_name”, “name_of_country” and “nick_name_of_customer” column is selected , so the resultant dataframe will be.
Keep or Select the column when the column name contains certain string or name in pandas – case In sensitive: All Cases.
We will be selecting the column when the column name contains a specific string or character, using filter() function in pandas python which will filter based on the column name and have selected the column that contains a specific string or character, in the below example we have selected the column with the column name containing “name” or “Name” or “NAME”
# Select the column that Ends 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 contains with all the case “name”, “Name” or “NAME” is selected .i.e All the columns are selected except the “price” and “offer_percentage” , so the resultant dataframe will be.