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