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

问题描述 投票:1回答:2

我有一个形状的数据帧表(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:'list'对象没有属性'all'

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

提前致谢,

python pandas dataframe
2个回答

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
© www.soinside.com 2019 - 2024. All rights reserved.