如何删除仅包含列表熊猫中的值的每一列

问题描述

我希望能够删除所有只包含我传入的列表中的值的列。

list_of_drops = ['A','B']
d ={'C1':['A','A','B','B'],'C2':['A','C','A'],'C3':['A','C4':['A','C5':['A','AC','C6':['A','AD','A']}

df = pd.DataFrame (d,columns = ['C1','C2','C3','C4','C5','C6'])

在此示例中,我想创建一个仅包含C1,C3和C4的数据框。

解决方法

摆脱只有一个值的列:

df= df.loc[:,(df != 'A').any(axis=0)]

要摆脱仅包含列表中值的列:

df= df.loc[:,(~df.isin(list_of_drops)).any(axis=0)]