ValueError.没有足够的索引器用于标量访问(设置)。没有足够的索引器用于标量访问(设置)。

问题描述 投票:0回答:0

我遇到了这个恼人的错误,下面的代码。

def tag_df(sorted_cosine_similarities, data):
    tagged = list()
    n = len(data)
    print("Elements in collection:{}".format(n))
    for i in range(n):
        index, cosine_sim_val = sorted_cosine_similarities[i]
        data.at[index, "common"] = float(round(cosine_sim_val, 3))
    return data

其中 sorted_cosine_similarities 是一个元组列表,index是数据中的索引(pandas dataframe)。

我想 .at 是造成这个问题...

谢谢!

错误堆栈是。

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-79-937a944a8e5e> in <module>
----> 1 tagged_set = tag_df(sorted_cosine_similarities, data)

<ipython-input-77-64f01d0d0fe8> in tag_df(sorted_cosine_similarities, data)
      5     for i in range(n):
      6         index, cosine_sim_val = sorted_cosine_similarities[i]
----> 7         data.at[index, "common"] = float(round(cosine_sim_val, 3))
      8     return data

~/.local/share/virtualenvs/traces_by_analytics-Mso168UE/lib/python3.6/site-packages/pandas/core/indexing.py in __setitem__(self, key, value)
   2189             key = _tuplify(self.ndim, key)
   2190         if len(key) != self.ndim:
-> 2191             raise ValueError("Not enough indexers for scalar access (setting)!")
   2192         key = list(self._convert_key(key, is_setter=True))
   2193         key.append(value)

ValueError: Not enough indexers for scalar access (setting)!
python pandas valueerror
© www.soinside.com 2019 - 2024. All rights reserved.