-2
我正在使用excel文件,其中一列包含「說明」(=字符串即「abc_123」),我需要根據說明創建類別。我檢查了Fuzzywuzzy lib,但它不太適合我的需要,因爲描述可能很長,並且類別可以用一個詞來描述,因此不匹配率非常高。Python - 如果單元格包含子字符串,則返回值來自詞典
我怎麼做的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填充「1」,因爲它是第一個匹配(a)。
編輯: 字典 - 字典{ 「HOSP」: 「醫院」, 「EMERG」: 「醫院」, 「火」: 「消防局」}
我想:
「醫院緊急「返回」醫院「
」Hospi_emrgncy「。返回「醫院」
「Hopsital緊急」返回「醫院」
「火在底特律」
很抱歉,您的問題不清楚。你能提供更多的樣本數據和預期的輸出嗎? –
這聽起來像是機器學習的工作。準備一個數據集的例子,將其提供給分類算法,然後讓它嘗試對剩餘數據進行分類。 一個好的起點是看scikit學習 –