按索引选择名称包含子字符串的列

时间:2019-09-30 15:18:23

标签: python python-3.x pandas

我的数据框的列与

相似
Run  Date1  Date2  Date3  A.0  A.1  A.2  B.0  B.1  B.2....

我想保留“运行”和“日期”列,但只选择包含A,B等的列。因此,输出应类似于

Run  Date1  Date2  Date3  A.0  A.1  A.2 

使用过滤器(如= A,轴= 1)只会为我提供带A的列,而不会为运行和日期列提供

我尝试了

df.iloc[:, [0,1,2,3,df.columns.get_loc(df.columns.str.contains("A"))]]

但它表示布尔列表不是有效的密钥

1 个答案:

答案 0 :(得分:1)

尝试

cols = ["Run", "Date1", "Date2", "Date3"] + [col for col in df.columns if col.startswith["A"] or col.startswith["B"]]

df.loc[:, cols]