从Pandas数据帧中仅过滤零列

时间:2012-09-13 17:27:28

标签: python pandas

我有一个Pandas数据框,我想过滤掉所有只包含零的列。例如,在下面的数据框中,我想删除第2列:

        0      1      2      3      4
0   0.381  0.794  0.000  0.964  0.304
1   0.538  0.029  0.000  0.327  0.928
2   0.041  0.312  0.000  0.208  0.284
3   0.406  0.786  0.000  0.334  0.118
4   0.511  0.166  0.000  0.181  0.980

我该怎么做?我一直在尝试这样的事情:

df.filter(lambda x: x == 0)

1 个答案:

答案 0 :(得分:10)

以下适用于我。它给出了一个系列,其中列名现在是索引,索引的值是True / False,具体取决于列中的所有项是否为0。

import pandas, numpy as np
# Create DataFrame "df" like yours...

df.apply(lambda x: np.all(x==0))