Python 如何过滤数据帧以包含特定值?

Python 如何过滤数据帧以包含特定值?,python,pandas,dataframe,filter,Python,Pandas,Dataframe,Filter,如果数据帧中的任何列包含非二进制(0或1)数字,如何排除行。不是基于特定列排除,而是针对所有列排除 例如,我们有这样一个数据帧,我们想删除第0、2和4行 array = [[1, 0, 0, 0, 0, 0, 2], [1, 0, 0, 1, 0, 0, 0], [2, 0, 0, 1, 0, 0, 0], [0, 0, 0, 0, 0, 1, 0], [1, 0, 0, 3, 0, 0, 0]] df = pd.DataF

如果数据帧中的任何列包含非二进制(0或1)数字,如何排除行。不是基于特定列排除,而是针对所有列排除

例如,我们有这样一个数据帧,我们想删除第0、2和4行

array = [[1, 0, 0, 0, 0, 0, 2],
         [1, 0, 0, 1, 0, 0, 0],
         [2, 0, 0, 1, 0, 0, 0],
         [0, 0, 0, 0, 0, 1, 0],
         [1, 0, 0, 3, 0, 0, 0]]
df = pd.DataFrame(array, columns = ['AB','AC','CB','DE','FA','CD','AF'] )

  • 用于创建,然后单击
df=df[df.isin([1,0])].dropna()
#显示(df)
AB AC CB DE FA CD AF
1  1.0   0   0  1.0   0   0  0.0
3  0.0   0   0  0.0   0   1  0.0
  • 另一种方法是
  • 其中
    ~
    表示
    不是
  • 我们还可以在代码末尾使用
    .dropna()
    ,而不是
    ~

df = df[~df.isin([0, 1])]