我有一个数据框 df 和一个字符串列表 cols_needed,它们指示我想在 df 中保留的列。df 中的列名与 cols_needed 中的字符串并不完全匹配,因此我不能直接使用 intersection 等方法。但是,列名包含 cols_needed 中的字符串。我尝试了 str.contains,但无法使其正常工作。如何基于 cols_needed 对 df 进行子集划分?
import pandas as pd
df = pd.DataFrame({
'sim-prod1': [1,2],
'sim-prod2': [3,4],
'sim-prod3': [5,6],
'sim_prod4': [7,8]
})
cols_needed = ['prod1', 'prod2']
# What I want to obtain:
sim-prod1 sim-prod2
0 1 3
1 2 4
df[columns]
。 - tdy