Python 如果列的所有值都是0,1或nan,则删除Dataframe列

Python 如果列的所有值都是0,1或nan,则删除Dataframe列,python,pandas,dataframe,Python,Pandas,Dataframe,假设这是数据帧。如果列中的所有值都是0,1或NaN,我希望删除这些列 df = pd.DataFrame([[1,0,0,0], [0,0,1,0],[2,'NaN',1,0]]) 最终结果应仅为第一列“0”,并删除其余列。使用以下方法: df.drop([1,2]) 另请参见尝试: lst=[0,1,'NaN'] 掩码=df.isin(lst).all(轴=0) drop(mask.loc[mask].index,轴=1,原地=True) 它将基本上确保您删除所有列,其中所有值都在lst

假设这是数据帧。如果列中的所有值都是0,1或NaN,我希望删除这些列

df = pd.DataFrame([[1,0,0,0], [0,0,1,0],[2,'NaN',1,0]])

最终结果应仅为第一列“0”,并删除其余列。

使用以下方法:

df.drop([1,2])

另请参见尝试:

lst=[0,1,'NaN']
掩码=df.isin(lst).all(轴=0)
drop(mask.loc[mask].index,轴=1,原地=True)

它将基本上确保您删除所有列,其中所有值都在
lst

中。这将有助于您解释您的答案。你可以说查一下熊猫医生。嗯,对于像我这样的疯子来说,这也令人困惑。一个有用的方法是使用命名参数声明答案:df.drop(labels=[1,2])好的,稍微少一点混乱。但这真的管用吗?它可能适用于特定的数据集,但我认为它不能满足问题的意图——是吗?