如何匹配列表句子与pandas DataFrame提取对应Type列生成新列表
实现句子列表与DataFrame匹配输出对齐Type列表的方案
核心实现思路
利用pandas自带的索引重排能力,一步完成匹配+顺序对齐,时间复杂度远低于逐句循环匹配。
完整示例代码
import pandas as pd # 构造示例DataFrame,替换为你自己的实际df即可 df = pd.DataFrame({ 'sentences': ['i hate dogs', 'i like cats', 'i enjoy running'], 'Type': ['neg', 'pos', 'pos'] }) # 你的输入句子列表 sentence_list = ['i hate dogs', 'i like cats'] # 核心执行逻辑 type_list = df.set_index('sentences').reindex(sentence_list)['Type'].tolist()
结果验证
执行后type_list输出为:
['neg', 'pos']
和输入sentence_list的顺序完全对齐。
异常兼容处理
如果存在输入句子不在DataFrame的sentences列中的情况,对应位置会返回NaN,你可以通过fillna设置默认值,比如未匹配到返回unknown:
type_list = df.set_index('sentences').reindex(sentence_list)['Type'].fillna('unknown').tolist()
内容的提问来源于stack exchange,提问作者chip
相关产品推荐
相关产品推荐

