我有一个包含多列的数据框,例如:
Prod_A Prod_B Prod_C State Region
1 1 0 1 1 1
我想删除所有以Prod_开头的列,(我不能按名称选择或删除,因为数据框有200个变量) 有可能这样做吗?
谢谢
答案 0 :(得分:10)
使用startswith
进行屏蔽,然后删除包含C:\Users\adm1n\Desktop\C\HZToolkit>HZToolkit --evig --key ALPHA HZU18{CLASSICAL_CIPHER}
HKJ18{NAHSSTRHL_NXWHEC}
和boolean indexing
的列:
loc
答案 1 :(得分:5)
首先,选择要删除的所有列:
unwanted = df.columns[df.columns.str.startswith('Prod_')]
,将它们全部放下:
df.drop(unwanted, axis=1, inplace=True)
答案 2 :(得分:2)
我们也可以使用负RegEx:
In [269]: df.filter(regex=r'^(?!Prod_).*$')
Out[269]:
State Region
1 1 1