【问题标题】:SentenceTransformers throwing KeyError on pandas SeriesSentenceTransformers 在 Pandas Series 上抛出 KeyError
【发布时间】:2022-07-28 21:54:01
【问题描述】:

我正在使用以下简化代码:

from sentence_transformers import SentenceTransformer
model = SentenceTransformer('sentence-transformers/all-MiniLM-L6-v2')

embeddings = model.encode(sentences)

其中sentences 是熊猫Series,包含我要转换的句子。

然后我收到以下错误 Traceback

embeddings = model.encode(sentences)
File "/anaconda/envs/topics/lib/python3.8/site-packages/sentence_transformers/SentenceTransformer.py", line 157, in encode
sentences_sorted = [sentences[idx] for idx in length_sorted_idx]
File "/anaconda/envs/topics/lib/python3.8/site-packages/sentence_transformers/SentenceTransformer.py", line 157, in <listcomp>
sentences_sorted = [sentences[idx] for idx in length_sorted_idx]
File "/anaconda/envs/topics/lib/python3.8/site-packages/pandas/core/series.py", line 942, in 
__getitem__
return self._get_value(key)
File "/anaconda/envs/topics/lib/python3.8/site-packages/pandas/core/series.py", line 1051, in 
_get_value
loc = self.index.get_loc(label)
File "/anaconda/envs/topics/lib/python3.8/site-packages/pandas/core/indexes/base.py", line 3363, in get_loc
raise KeyError(key) from err
KeyError: 144

【问题讨论】:

    标签: pandas dataframe sentence-transformers


    【解决方案1】:

    实际的解决方案是将 pandas Series 转换为 numpy 数组:

    sentences_array = sentences.to_numpy()
    

    【讨论】:

      猜你喜欢
      • 2021-03-03
      • 2013-02-13
      • 2011-04-01
      • 2022-01-15
      • 2018-08-13
      • 1970-01-01
      • 1970-01-01
      • 2013-01-18
      • 1970-01-01
      相关资源
      最近更新 更多