如果字符串在列名中,如何 select 列

How to select column if string is in column name

所以我有一个包含许多列的数据框字典。我想 selected 所有包含字符串 'important' 的列。 所以一些框架可能有 important_0 或 important_9_0 作为它们的列名。我如何 select 它们并将它们放入自己的新字典中,每列包含所有值。

import pandas as pd
df = pd.DataFrame(columns=['a', 'b', 'important_c'])
selected_cols = [c for c in df.columns if c.startswith('important_')]
print(selected_cols)
# ['important_c']

dict_df = { x: pd.DataFrame(columns=['a', 'b', 'important_c']) for x in range(3) }
new_dict = { x: dict_df[x][[c for c in dict_df[x].columns if c.startswith('important_')]] for x in dict_df } 
important_columns = [x for x in df.columns if 'important' in x]
#changing your dataframe by remaining columns that you need
df = df[important_columns]