1

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

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 的数据框。

4

1 回答 1

1

要删除只有一个值的列:

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

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

df= df.loc[:, (~df.isin(list_of_drops)).any(axis=0)]
于 2020-10-01T11:20:04.027 回答