Python 如果列的所有值都是0,1或nan,则删除Dataframe列
假设这是数据帧。如果列中的所有值都是0,1或NaN,我希望删除这些列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
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])好的,稍微少一点混乱。但这真的管用吗?它可能适用于特定的数据集,但我认为它不能满足问题的意图——是吗?