6

リバース/ネガティブdataframe.drop機能は非常に便利なツールになると思います。誰かがこれを克服しましたか?

4

2 に答える 2

6

一般に、df.drop()ではなく、選択の逆を取得するときにブールインデックスとチルダ演算子を使用しますが、ブールインデックスを使用してドロップするラベルの配列を形成する場合、同じ概念がdf.dropに適用されます。 。お役に立てば幸いです。

In [44]: df
Out[44]: 
          A         B
0  0.642010  0.116227
1  0.848426  0.710739
2  0.563803  0.416422

In [45]: cond = (df.A > .6) & (df.B > .3)

In [46]: df[cond]
Out[46]: 
          A         B
1  0.848426  0.710739

In [47]: df[~cond]
Out[47]: 
          A         B
0  0.642010  0.116227
2  0.563803  0.416422
于 2012-09-30T04:49:45.753 に答える
3

私があなたを正しく理解していれば、インデックスに「isin」を付けてインデックスを作成するだけで、この効果を得ることができます。

>>> df
         A         B         C
0  0.754956 -0.597896  0.245254
1 -0.987808  0.162506 -0.131674
2 -1.064639 -2.193629  1.814078
3 -0.483950 -1.290789  1.776827
4 -0.191055 -0.461204  0.412220
>>> df[df.index.isin([0, 2, 3])]   # Drop rows whose label is not in the set [0, 2, 3]
         A         B         C
0  0.754956 -0.597896  0.245254
2 -1.064639 -2.193629  1.814078
3 -0.483950 -1.290789  1.776827
于 2012-09-28T18:59:47.293 に答える