首页 > 解决方案 > 如果字符串在列名中,如何选择列

问题描述

所以我有一个包含许多列的数据框的字典。我想选择其中包含字符串“重要”的所有列。所以一些框架可能有重要的_0或重要的_9_0作为他们的列名。如何选择它们并将它们放入自己的新字典中,其中包含每列包含的所有值。

标签: pythonpandasdataframedata-science

解决方案


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 } 

推荐阅读