Select columns based on columns names containing a specific string in pandas

Select columns based on columns names containing a specific string in pandas

To select columns from a pandas DataFrame based on column names containing a specific string, you can use list comprehension along with the str.contains() method on column names. Here's an example:

import pandas as pd # Create a sample DataFrame data = {'id': [1, 2, 3], 'name_foo': ['Alice', 'Bob', 'Charlie'], 'age_bar': [25, 30, 22], 'city_baz': ['New York', 'San Francisco', 'Los Angeles']} df = pd.DataFrame(data) # Specify the string you want to search for string_to_find = 'foo' # Use list comprehension to select columns containing the specified string selected_columns = [col for col in df.columns if string_to_find in col] # Create a new DataFrame with selected columns result_df = df[selected_columns] print(result_df) 

In this example, the code searches for columns containing the string 'foo' and selects those columns using list comprehension. The resulting DataFrame result_df contains only the columns 'name_foo'.

Keep in mind that the str.contains() method is case-sensitive by default. If you want to perform a case-insensitive search, you can use the case parameter:

selected_columns = [col for col in df.columns if string_to_find.lower() in col.lower()] 

This way, it will match columns regardless of their case.

Examples

  1. Select columns containing a specific string in column names using Pandas in Python:

    # Description: This query demonstrates how to select columns in a DataFrame based on column names containing a specific string using Pandas in Python. import pandas as pd df = pd.DataFrame({'apple': [1, 2, 3], 'banana': [4, 5, 6], 'grape': [7, 8, 9]}) selected_columns = df[df.columns[df.columns.str.contains('na')]] 
  2. Select columns excluding specific string in column names using Pandas in Python:

    # Description: This query illustrates selecting columns in a DataFrame excluding column names containing a specific string using Pandas in Python. import pandas as pd df = pd.DataFrame({'apple': [1, 2, 3], 'banana': [4, 5, 6], 'grape': [7, 8, 9]}) selected_columns = df[df.columns[~df.columns.str.contains('na')]] 
  3. Select columns starting with a specific string in column names using Pandas in Python:

    # Description: This query showcases selecting columns in a DataFrame starting with a specific string in column names using Pandas in Python. import pandas as pd df = pd.DataFrame({'apple': [1, 2, 3], 'banana': [4, 5, 6], 'grape': [7, 8, 9]}) selected_columns = df[df.columns[df.columns.str.startswith('b')]] 
  4. Select columns ending with a specific string in column names using Pandas in Python:

    # Description: This query demonstrates selecting columns in a DataFrame ending with a specific string in column names using Pandas in Python. import pandas as pd df = pd.DataFrame({'apple': [1, 2, 3], 'banana': [4, 5, 6], 'grape': [7, 8, 9]}) selected_columns = df[df.columns[df.columns.str.endswith('e')]] 
  5. Select columns with a specific string pattern in column names using Pandas in Python:

    # Description: This query illustrates selecting columns in a DataFrame with a specific string pattern in column names using Pandas in Python. import pandas as pd df = pd.DataFrame({'apple': [1, 2, 3], 'banana_split': [4, 5, 6], 'grape': [7, 8, 9]}) selected_columns = df[df.columns[df.columns.str.contains('na')]] 
  6. Select columns with case-insensitive matching of a specific string in column names using Pandas in Python:

    # Description: This query showcases selecting columns in a DataFrame with case-insensitive matching of a specific string in column names using Pandas in Python. import pandas as pd df = pd.DataFrame({'apple': [1, 2, 3], 'Banana': [4, 5, 6], 'grape': [7, 8, 9]}) selected_columns = df[df.columns[df.columns.str.contains('ban', case=False)]] 
  7. Select columns with specific string and ignoring case in column names using Pandas in Python:

    # Description: This query demonstrates selecting columns in a DataFrame with a specific string while ignoring case in column names using Pandas in Python. import pandas as pd df = pd.DataFrame({'apple': [1, 2, 3], 'Banana': [4, 5, 6], 'grape': [7, 8, 9]}) selected_columns = df[df.columns[df.columns.str.contains('Ban', case=False)]] 
  8. Select columns based on multiple specific strings in column names using Pandas in Python:

    # Description: This query illustrates selecting columns in a DataFrame based on multiple specific strings in column names using Pandas in Python. import pandas as pd df = pd.DataFrame({'apple': [1, 2, 3], 'banana_split': [4, 5, 6], 'orange_juice': [7, 8, 9]}) selected_columns = df[df.columns[df.columns.str.contains('na|ra', regex=True)]] 
  9. Select columns with specific string and excluding others in column names using Pandas in Python:

    # Description: This query showcases selecting columns in a DataFrame with a specific string and excluding others in column names using Pandas in Python. import pandas as pd df = pd.DataFrame({'apple': [1, 2, 3], 'banana_split': [4, 5, 6], 'orange_juice': [7, 8, 9]}) selected_columns = df[df.columns[df.columns.str.contains('na|ra', regex=True) & ~df.columns.str.contains('juice')]] 
  10. Select columns with specific string pattern and returning boolean mask using Pandas in Python:

    # Description: This query demonstrates selecting columns in a DataFrame with a specific string pattern and returning a boolean mask using Pandas in Python. import pandas as pd df = pd.DataFrame({'apple': [1, 2, 3], 'banana_split': [4, 5, 6], 'orange_juice': [7, 8, 9]}) mask = df.columns.str.contains('na|ra', regex=True) selected_columns = df.loc[:, mask] 

More Tags

applicationpoolidentity slack whatsapi apple-maps dimensions tsconfig global-filter capl git-filter-branch pi

More Python Questions

More Electrochemistry Calculators

More Biology Calculators

More Weather Calculators

More Electronics Circuits Calculators