如果在熊猫中连续看不到值 SpaceX,如何删除熊猫中的列?

How to delete a column in panda if in a row we can not see a value SpaceX in panda?

我有一个excel文件要分析,但是有很多数据我不想分析,如果我们在第一行找不到值SpaceX字符串,我们可以删除一列吗喜欢关注

SL#   State   District  10/01/2021  10/01/2021  10/01/2021  11/01/2021  11/01/2021   11/01/2021
                        SpaceX in     Star in       StarX out       SpaceX out      Star out       StarX in
1      wb      al        10           11          12          13        14           15
2      wb      not       23           22          20          24        25           25

现在我想删除行中 SpaceX 不存在的列。然后想要删除 SpaceX 以及向上移动行最终输出将如下所示

SL#   State   District  10/01/2021    11/01/2021
1      wb      al        10            13      
2      wb      not       23            24

尝试使用 loc 和 iloc 函数,但目前没有任何线索。

也查了答案:但不一样。我正在检查子字符串而不是精确的值匹配。

首先用startswith()方法和fillna()方法创建一个布尔掩码:

mask=df.loc[0].str.startswith('SpaceX').fillna(True)

最后使用 Transpose(T) 属性、loc 访问器和 drop() 方法:

df=df.T.loc[mask].T.drop(0)

df 的输出:

    SL#     State   District    2021-01-10 00:00:00     2021-01-11 00:00:00     2021-01-12 00:00:00
1   1.0     wb      al          10                              13                  16
2   2.0     wb      not         23                              13                  16