Skip to main content
 首页 » 编程设计

python之如何根据条件删除列

2025年05月04日11pengyingh

我想删除以特定“TYPE”字开头且不包含 _1 的列?

df = 
 
TYPE_1    TYPE_2    TYPE_3    COL1 
aaa       asb       bbb       123 

结果应该是:

df = 
 
    TYPE_1    COL1 
    aaa       123 

目前我正在手动删除这些列,但是如果列数很大,这种方法不是很有效:

df = df.drop(["TYPE_2","TYPE_3"], axis=1) 

请您参考如下方法:

可以使用列表理解。注意:axis=1 表示我们指的是列,inplace=True 也可以按照 pandas.DataFrame.drop 使用文档。

droplist = [i for i in df.columns if i.startswith('TYPE') and '_1' not in i] 
df1.drop(droplist,axis=1,inplace=True)