Python:从数据框

时间:2017-08-01 20:27:15

标签: python pandas dataframe multiple-columns

我有一个数据框:

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_21df_23但是有一种有效的方法可以在一行代码中执行相同操作吗?

1 个答案:

答案 0 :(得分:0)

您可以使用条件列表理解:

targets = ['21', '23']
df[[col for col in df if any(target in col for target in targets)]]