以指定的间隔过滤pandas数据帧中的行

时间:2017-12-23 05:06:42

标签: python pandas dataframe

我有一个带形状的数据框表(104238,88)。我想只提取值为1或0(不是布尔值)的行

Dataframe_input

Index C1  C2  C3  C4.... C88
R1    200 0   20  40     1068
R2    0   0    0   0     1
R3    1   1    1   1     0

在子集化之后,我想要提取R2,R3。即整行中的所有元素都是0或1

我试过了,

import pandas as pd
df = pd.read_csv('Dataframe.txt', sep='\t', index_col='Index')
df2 = df[[df.columns].all(axis=1) <2]

我收到了错误,

  

AttributeError:&#39; list&#39;对象没有属性&#39; all&#39;

这里有什么错误?请帮忙。

提前致谢,

AP

2 个答案:

答案 0 :(得分:1)

print(df)

    C1  C2  C3  C4  C88
0   200 0   20  40  1068
1   0   0   0   0   1
2   1   1   1   1   0

使用以下代码仅选择0和1

的行
df2 = df.loc[df.apply(lambda x: x.isin([1,0])).all(axis=1)]

print(df2)

    C1  C2  C3  C4  C88
1   0   0   0   0   1
2   1   1   1   1   0

答案 1 :(得分:1)