-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学习 –