我有一个数据框:
df:
a21 b21 c21 a22 b22 a23 b23
1 2 2 2 4 5 7 7
2 2 2 2 4 5 7 7
3 2 2 2 4 5 7 7
4 2 2 2 4 5 7 7
5 2 2 2 4 5 7 7
我只想选择'21'
和'23'
的列,以便输出为:
df_output:
a21 b21 c21 a23 b23
1 2 2 2 7 7
2 2 2 2 7 7
3 2 2 2 7 7
4 2 2 2 7 7
5 2 2 2 7 7
我可以使用以下代码执行此操作:
df_21 = (df.loc[:, df.filter(like='21').columns])
df_23 = (df.loc[:, df.filter(like='23').columns])
然后我可以合并df_21
和df_23
但是有一种有效的方法可以在一行代码中执行相同操作吗?
答案 0 :(得分:0)
您可以使用条件列表理解:
targets = ['21', '23']
df[[col for col in df if any(target in col for target in targets)]]