9

ゼロのみを含むすべての列を除外したい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)
4

1 に答える 1

10

以下は私のために働きます。これは、列名がインデックスになり、列のすべての項目が0であるかどうかに応じて、インデックスの値がTrue/Falseになるシリーズを提供します。

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

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

そして、実際に0の値を除外したい場合は、次のようにします。

df[df.columns[(df != 0).any()]]
于 2012-09-13T17:32:12.353 に答える