調べてみたのですが、データフレームをフィルタリングする方法がわかりません。
df["col"].str.contains(word)
しかし、私はその逆の方法があるかどうか疑問に思っています。つまり、そのセットの補数でデータフレームをフィルタリングする方法です。例えば、
!(df["col"].str.contains(word))
これをメソッドを通じて実行できますかDataFrame
?
ベストアンサー1
反転 (~) 演算子 (ブール値データに対して not のように動作する) を使用できます。
new_df = df[~df["col"].str.contains(word)]
new_df
RHS によって返されるコピーはどこにありますか。
contains は正規表現も受け入れます...
上記で ValueError または TypeError がスローされた場合、データ型が混在している可能性が高いため、次を使用しますna=False
。
new_df = df[~df["col"].str.contains(word, na=False)]
または、
new_df = df[df["col"].str.contains(word) == False]