如何使用pandas isin()来测试数据框

时间:2016-05-11 05:50:02

标签: python pandas dataframe

我有一个DataFrame,有34列,大约有10k行。我想只保留column index位置2到33中值为0或1的行。

我尝试了以下内容:

df = df[df.iloc[:,2:33].isin([0,1])]

但是我得到了意想不到的结果。返回多个列NaN

任何帮助将不胜感激!感谢...

1 个答案:

答案 0 :(得分:0)

设置

df = pd.DataFrame(np.random.rand(10000, 5)*10, columns=list('ABCDE')).astype(int)

解决方案

df[((df == 0) | (df == 1)).any(axis=1)]

你的问题

 df[((df.iloc[:,2:33] == 0) | (df.iloc[:,2:33] == 1)).any(axis=1)]