【python】スペース有無, 順番違いのキーワード重複の削除
派遣 事務 求人
派遣 事務
求人 事務 派遣
事務 求人
事務派遣
などのキーワードから、スペース有無や順番違いのキーワードを除外したい。
▼アウトプットイメージ
派遣 事務 求人
派遣 事務
事務 求人
キーワード重複の削除
下準備
#numpyのインポート import numpy as np #キーワードを配列に代入。 keywords = ['派遣 事務 求人', '派遣 事務','求人 事務 派遣','事務 求人'] #キーワード整形用の関数を作成 def shaping_kw(keyword): split_kw = keyword.split(' ') #キーワードをスペースで分割 sorted_kw = sorted(split_kw) #分割したキーワードを並び替え join_kw = ''.join(sorted_kw) #並び替えたキーワードを連結 return join_kw #shaping_kwを、keywordsの値に実行 shaped_keywords = list(map(lambda keyword:shaping_kw(keyword),keywords)) #shaped_keywords ['事務求人派遣', '事務派遣', '事務求人派遣', '事務求人', '事務派遣']
重複を削除したキーワードの取り出し
#numpyのunique()を使用して、ユニークなキーワードを取り出す
np.unique(shaped_keywords)
実行結果
array(['事務求人', '事務求人派遣', '事務派遣'],dtype='<U6')
まとめ
スペース有無,前後の順番が違うキーワードは下記の手順で重複除外出来る。
①スペースで分割
②分割したキーワードの並び替え
③並び替えたキーワードを連結
④numpyのunique()で、ユニークな値だけ取り出す
このままのデータだと、キーワード調査とかには活用出来ないので
整形前のキーワードを残した上で重複を除外する方法を考えないと・・。
2017/11/03追記:AdWordsのデータから、整形後データのCSV出力まで一気にする方法が分かった
otoha0510.hatenablog.com