Python 删除多值列

Python 删除多值列,python,pandas,Python,Pandas,我有一个数据帧 A B 0 2 3 1 2 4 2 3 5 如果一列的值有两个以上的不同值,我将删除。 预期输出: A 0 2 1 2 2 3 可以使用.nunique和.loc传递布尔值 数据帧{'A':{0:2,1:2,2:3},'B':{0:3,1:4,2:5} df.loc[:,df.nunique您可以使用.nunique和.loc传递布尔值 数据帧{'A':{0:2,1:2,2:3},'B':{0:3,1:4,2:5} df.loc[:,df.nu

我有一个数据帧

   A  B
0  2  3
1  2  4
2  3  5
如果一列的值有两个以上的不同值,我将删除。 预期输出:

   A
0  2
1  2
2  3
可以使用.nunique和.loc传递布尔值

数据帧{'A':{0:2,1:2,2:3},'B':{0:3,1:4,2:5} df.loc[:,df.nunique您可以使用.nunique和.loc传递布尔值

数据帧{'A':{0:2,1:2,2:3},'B':{0:3,1:4,2:5} df.loc[:,df.nunique用于循环和值\u计数以获得结果:-

df = pd.DataFrame(data= {'A':[2,2,3], 'B':[3,4,5]})
for var in df.columns:
    result = df[var].value_counts()
    if len(result)>2:
        df.drop(var, axis=1,inplace=True)
df
输出

使用for循环和value_count获得结果:-

df = pd.DataFrame(data= {'A':[2,2,3], 'B':[3,4,5]})
for var in df.columns:
    result = df[var].value_counts()
    if len(result)>2:
        df.drop(var, axis=1,inplace=True)
df
输出


你到现在为止试过什么?你到现在为止试过什么?
df = pd.DataFrame(data= {'A':[2,2,3], 'B':[3,4,5]})
for var in df.columns:
    result = df[var].value_counts()
    if len(result)>2:
        df.drop(var, axis=1,inplace=True)
df
    A
 0  2
 1  2
 2  3