pandas の DataFrame で「does-not-contain」を検索する 質問する

pandas の DataFrame で「does-not-contain」を検索する 質問する

調べてみたのですが、データフレームをフィルタリングする方法がわかりません。

df["col"].str.contains(word)

しかし、私はその逆の方法があるかどうか疑問に思っています。つまり、そのセットの補数でデータフレームをフィルタリングする方法です。例えば、

!(df["col"].str.contains(word))

これをメソッドを通じて実行できますかDataFrame?

ベストアンサー1

反転 (~) 演算子 (ブール値データに対して not のように動作する) を使用できます。

new_df = df[~df["col"].str.contains(word)]

new_dfRHS によって返されるコピーはどこにありますか。

contains は正規表現も受け入れます...


上記で ValueError または TypeError がスローされた場合、データ型が混在している可能性が高いため、次を使用しますna=False

new_df = df[~df["col"].str.contains(word, na=False)]

または、

new_df = df[df["col"].str.contains(word) == False]

おすすめ記事