実現したいこと
- 以下のデータフレーム(df_result)の「タイトル」「タグ」「本文」のいずれかに検索ワード(search_word)が含まれるか判定
- 含まれていた場合はTrue,含まれない場合はFalseをカラムに追加
タイトル | タグ | 本文 |
---|---|---|
AAA | [xxx, yyy, zzz] | EEE |
BBB | [xxx, yyy, zzz, AAA] | FFF |
CCC | [xxx, yyy, zzz] | GGGAAA |
DDD | [xxx, yyy, zzz] | HHH |
↓検索ワードを「AAA」として実行
タイトル | タグ | 本文 | フラグ |
---|---|---|---|
AAA | [xxx, yyy, zzz] | EEE | True |
BBB | [xxx, yyy, zzz, AAA] | FFF | True |
CCC | [xxx, yyy, zzz] | GGGAAA | True |
DDD | [xxx, yyy, zzz] | HHH | False |
発生している問題・エラーメッセージ
SyntaxError: invalid non-printable character U+3000
該当のソースコード
python
1df_result["フラグ"] = np.where( 2df_result["タイトル"].str.contains(search_word) | 3df_result["本文"].str.contains(search_word) | 4df_result["タグ"].isin(search_word) 5,True, False)
試したこと
以下の通りタグ無しであれば想定通りの処理になったので、リスト型の「タグ」カラムの判定方法を教えて頂きたいです。
python
1df_result["フラグ"] = np.where( 2df_result["タイトル"].str.contains(search_word) | 3df_result["本文"].str.contains(search_word) 4,True, False)
エラーについてはコードに全角空白(U+3000)が含まれているためなので取り除けばよいです。
そのうえでsearch_wordと異なるsearch_word_listとはどのような意味合い、値の変数でしょうか?
あるいは、タグ列での判定は他の列と同じく「各要素のいずれかの文字列にsearch_wordが含まれているか?」としたいということでしょうか?
> エラーについてはコードに全角空白(U+3000)が含まれているためなので取り除けばよいです。
全角空白文字見落としたうえ、エラーコード調査不足でした…。ありがとうございます!
> あるいは、タグ列での判定は他の列と同じく「各要素のいずれかの文字列にsearch_wordが含まれているか?」としたいということでしょうか?
はい、「各要素のいずれかの文字列にsearch_wordが含まれているか?」を検証し、フラグ列を追加したいです。
色々試しているときのソースをコピペしてしまいましたので、search_word_list → search_wordに修正しました。
回答1件
あなたの回答
tips
プレビュー