我希望能够删除所有只包含我传入的列表中的值的列。
list_of_drops = ['A','B']
d ={'C1':['A','A','A','B','B','B'],
'C2':['A','C','A','A','A','A'],
'C3':['A','B','B','A','B','B'],
'C4':['A','A','A','A','A','A'],
'C5':['A','A','B','AC','A','B'],
'C6':['A','A','AD','A','B','A']}
df = pd.DataFrame (d, columns = ['C1','C2','C3','C4','C5','C6'])
在此示例中,我想创建一个仅包含C1,C3和C4的数据框。
答案 0 :(得分:1)
摆脱只有一个值的列:
df= df.loc[:, (df != 'A').any(axis=0)]
要摆脱仅包含列表中值的列:
df= df.loc[:, (~df.isin(list_of_drops)).any(axis=0)]