逻辑回归样本点的展示一直报错

img

一直出现的错误是:TypeError: unhashable type: 'Series'

这个错误通常是因为在使用 Pandas 时,将 Series 对象作为字典的键使用,而 Series 是不可哈希(unhashable)的类型。因为字典需要将键转换为哈希值,才能在内存中快速查找对应的值。
以下是可能导致此错误的代码示例:
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv('data.csv')
X = data['feature1']
y = data['label']
plt.scatter(X, y)
plt.show()
如果运行这段代码时出现 TypeError: unhashable type: 'Series' 错误,可能是因为在 plt.scatter 中使用了 Series 类型的数据。
要解决这个问题,可以将 Series 转换为列表类型,然后再进行展示。修改后的代码示例如下:
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv('data.csv')
X = data['feature1'].tolist()
y = data['label'].tolist()
plt.scatter(X, y)
plt.show()
这个修改后的代码将 Series 对象转换为了列表类型,避免了将其用作字典键的错误。

该回答引用GPTᴼᴾᴱᴺᴬᴵ
这个错误通常出现在使用 Pandas Series 对象作为字典的键时。因为 Pandas Series 对象是可变对象,不支持作为字典的键。常见的解决方法是将 Series 对象转换为不可变对象,例如使用元组进行替换。
-
如果您在逻辑回归的样本点展示中出现了这个错误,很有可能是您的代码中使用了 Pandas Series 对象作为字典的键。可以尝试将 Series 对象转换为元组或字符串,然后再用作字典的键。
-
如果您无法确定错误出现在哪一行代码,可以将错误信息和相关的代码片段贴出来,这样有助于更准确地定位问题。