1. ホーム
  2. python

[解決済み] Pandasのデータフレームを、リストに含まれる(含まれない)インデックス値でスライスする。

2023-05-11 23:54:52

質問

を持っています。 pandas データフレームです。 df .

のすべてのインデックスを選択したい。 df それは ノット をリストで表示します。 blacklist.

あとはリスト内包で目的のラベルを作成してスライスする。

ix=[i for i in df.index if i not in blacklist]  
df_select=df.loc[ix]

うまくいくが、これを頻繁に行う必要がある場合は不器用かもしれない。

何か良い方法はないでしょうか?

どのように解決するのですか?

使用方法 isin をインデックスに、ブーリアンインデックスを反転させて、ラベル選択を行う。

In [239]:

df = pd.DataFrame({'a':np.random.randn(5)})
df
Out[239]:
          a
0 -0.548275
1 -0.411741
2 -1.187369
3  1.028967
4 -2.755030
In [240]:

t = [2,4]
df.loc[~df.index.isin(t)]
Out[240]:
          a
0 -0.548275
1 -0.411741
3  1.028967