1. ホーム
  2. python

[解決済み] 特定の列に特定の文字列を含むpandasデータフレームから行を削除する方法は?[重複している]

2022-04-26 21:39:47

質問

Pythonで非常に大きなデータフレームを持っていて、特定の列の中に特定の文字列を持つ行をすべて削除したいのです。

例えば、データフレームのC列に文字列 "XYZ" を部分文字列として持つ行をすべて削除したいのです。

これは、.drop()メソッドを使用して効率的に実装することができますか?

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

pandasは文字列操作をベクトル化しているので、不要な文字列を含む行をフィルタリングすればいいのです。

In [91]: df = pd.DataFrame(dict(A=[5,3,5,6], C=["foo","bar","fooXYZbar", "bat"]))

In [92]: df
Out[92]:
   A          C
0  5        foo
1  3        bar
2  5  fooXYZbar
3  6        bat

In [93]: df[~df.C.str.contains("XYZ")]
Out[93]:
   A    C
0  5  foo
1  3  bar
3  6  bat