一直出现的错误是:TypeError: unhashable type: 'Series'
2条回答 默认 最新
- grantthing 2023-02-23 20:00关注
这个错误通常是因为在使用 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 对象转换为了列表类型,避免了将其用作字典键的错误。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报