如何使用pandas数据框删除不在群集中的值?

Tro*_*mba 9 python python-2.7 pandas

如果我有一个由0和1组成的pandas数据框:

 1 1 1 0 0 0 0 1 0
 1 1 1 1 1 0 0 0 0
 1 1 1 0 0 0 0 1 0 
 1 0 0 0 0 1 0 0 0 
Run Code Online (Sandbox Code Playgroud)

如何过滤异常值,以便我得到这样的结果:

 1 1 1 0 0 0 0 0 0 
 1 1 1 1 1 0 0 0 0
 1 1 1 0 0 0 0 0 0
 1 0 0 0 0 0 0 0 0
Run Code Online (Sandbox Code Playgroud)

这样我就删除了异常值.

Wil*_*sem 11

我们可以使用[pandas-doc]在第二轴上的累积产品来做到这一点:pandas.cumprod

>>> df.cumprod(axis=1)
   0  1  2  3  4  5  6  7  8
0  1  1  1  0  0  0  0  0  0
1  1  1  1  1  1  0  0  0  0
2  1  1  1  0  0  0  0  0  0
3  1  0  0  0  0  0  0  0  0
Run Code Online (Sandbox Code Playgroud)

这里可以使用pandas.cummin[pandas-doc]获得相同的结果:

>>> df.cummin(axis=1)
   0  1  2  3  4  5  6  7  8
0  1  1  1  0  0  0  0  0  0
1  1  1  1  1  1  0  0  0  0
2  1  1  1  0  0  0  0  0  0
3  1  0  0  0  0  0  0  0  0
Run Code Online (Sandbox Code Playgroud)