私は1つの列に「説明」(=文字列「abc_123」)が含まれているExcelファイルを使用しています。私はFuzzywuzzy libをチェックしましたが、記述がかなり長くなる可能性があり、カテゴリが1つの単語で記述できるため、ミスマッチ率がかなり高いため、私のニーズにはあまり適していません。Python - セルにサブ文字列が含まれている場合のdictからの戻り値
私は(大文字と小文字を区別)Excelでそれをやった方法:私のソリューションは、完全一致のみを返し、私も部分一致(ケース可能であれば、小文字を区別しない)を返すしたい
=IFERROR(INDEX($B$2:$B$50,MATCH(1,--NOT(NOT(FIND($A$2:$A$50,B2))),0)),"N/A")
事はpythonです。
df = pd.DataFrame({'col1': {0: 'a', 1: "b", 2: "abc"}, 'col2': {0: np.nan, 1: np.nan, 2: np.nan}})
di = {"a": "1", "b":"2"}
col1 col2
0 a NaN
1 b NaN
2 abc NaN
df.loc[df.col1.isin(di), 'col2'] = df['col1'].map(di)
col1 col2
0 a 1
1 b 2
2 abc NaN
col2:2に最初の一致(a)が設定されているため、col2:2に「1」を入力します。
編集: 辞書 - 辞書{ "HOSP": "病院"、 "EMERG": "病院"、 "火": "消防"}
私が欲しい:
を」病院 "を返すために"病院の緊急事態 "
" Hospi_emrgncy。 " 「デトロイトの火」
を「病院」を返すように「Hopsital緊急」
を「病院」を返すように戻るには、「消防署」
申し訳ありませんが、あなたの質問は不明です。より多くのサンプルデータと期待される出力を提供できますか? –
これは機械学習の仕事のようです。例のデータセットを準備し、それを分類アルゴリズムに入力し、残りのデータを分類しようとします。 良い出発点はscikitを見ることです。 –