如果单元格包含子字符串,则Python从dict返回值

2024-10-03 02:45:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是excel文件,其中一列包含“Description”(=字符串,即“abc_123”),我需要根据描述创建类别。我检查了fuzzyfuzzy库,但它不太适合我的需要,因为描述可能很长,类别可以用一个词来描述,因此不匹配率相当高。在

如何在excel中完成(区分大小写):

=IFERROR(INDEX($B$2:$B$50,MATCH(1,--NOT(NOT(FIND($A$2:$A$50,B2))),0)),"N/A")

问题是在python中,我的解决方案只返回精确匹配,我甚至希望返回部分匹配(如果可能,不区分大小写)。在

^{pr2}$

我希望col2:2填充“1”,因为它是第一个匹配项(a)。在

编辑: 字典-dict{“Hosp”:“Hosp”:“Hospital”,“emerg”:“Hospital”,“Fire”:“Fire Department”}

我想要:

“医院急诊”要回“医院”

“医院”返回“医院”

“希望紧急情况”返回“医院”

“底特律火灾”返回“消防局”


Tags: 文件字符串indexnotdescription类别excelfire
1条回答
网友
1楼 · 发布于 2024-10-03 02:45:56
for key, value in category_name.items():
    mask = np.column_stack([df['Description'].str.contains(key, na=False) for col in df])
    df2 = df.loc[mask.any(axis=1)]
    df2["Category"] = df2["Category"].fillna(value)
    df3 = df3.combine_first(df2)

终于找到了解决办法。一点也不完美,但如果我有足够好的字典,这就足够了。在

相关问题 更多 >