前提・実現したいこと
特定の文字列が入った商品タイトルの一覧があり、その文字列内に指定した特定の単語が含まれている場合は、
隣に列を追加し、1とFlagを立てる(その単語がない場合は0と記載する)コードを作成したいのです。
データは全て英文となり、大文字と小文字も識別せずに処理したいと考えております。
例えば、下記のようなデータがあり、
Product_ID, title
55647, The best Nintendo game Mario
87876, mario cart used condition
98998, Luigi mansion game
例えば、Marioという単語にFlagを立てたい場合、
出力結果が
Product_ID, title, Mario
55647, The best Nintendo game Mario, 1
87876, mario cart used condition, 1
98998, Luigi mansion game, 0
このような結果を出力したいです。
上記はMarioという単語のみでしたが、Flagを立てたい単語が50以上あります。
該当のソースコード
Python
1def Mario(input_str): 2 if "Mario" in input_str: 3 return 1 4 return 0 5 6dataset.loc[:, 'Mario'] = dataset.title.apply(Mario)
試したこと
このコードをそれこそ50以上作れば、やりたいことは実現できるのですが、
できれば、
('Mario', 'New', 'Brother') など単語を追加しただけで、全ての処理が終わるようなコードが欲しいと考えております。
また、上記のソースコードだと英語の大文字と小文字をしっかり認識してしまうため、
Marioやmario、MARIOなど考えうる全通りが必要となってしまうため、困っております。
If文などを使うのかと思うのですが、どのようなコードを書けばいいのか想像がつかないため、皆様の助けをいただきたく思います。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/23 00:57