我有一个带形状的数据框表(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
答案 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)
可能与df.isin
df[df.isin([0,1]).all(1)]
http://pandas.pydata.org/pandas-docs/version/0.15.0/indexing.html