python - 我收到此错误 TypeError: unhashable type: 'slice' in Scatter plot
问题描述
我被困在可视化散点图上,因为我收到了这个错误消息:TypeError: unhashable type: 'slice'
Genre_color = {'动画':'r','恐怖':'b','惊悚':'y','戏剧':'m','喜剧':'deeppink','科幻':'黄金”、“西部”:“橙色”、“冒险”:“g”、“纪录片”:“棕色”、“音乐”:“靛蓝”、“奇幻”:“黄色”、“神秘”:“紫色” ,“黑色电影”:“青色”,“(未列出类型)”:“珊瑚”,“动作”:“青色”,“战争”:“黑色”,“浪漫”:“天蓝色”,“儿童” :'石灰','犯罪':'深绿色'}
def join_movieDataFrames(pcaDF, genreDF):
x_scaled = preprocessing.scale(pcaDF, with_std=False)
pca = decomposition.PCA(n_components=2)
df_trans = pd.DataFrame(pca.fit_transform(x_scaled),index=df_A.index)
x = pd.merge(df_trans, genreDF, on='movieId')
return plt.scatter(x[:,0],x[:,1],c=data['genre_color'])
(df_A, df_B) = construct_data('ratings.csv', 'movies.csv')
(exVar, df_T) = apply_pca(df_A, 2)
join_movieDataFrames(df_T, df_B)
解决方案
您正在尝试通过切片语法从数据框中提取值,这会引发 TypeError。
您应该使用数据框的iloc
属性以及values
访问该数据:
return plt.scatter(x.iloc[:,0].values ,x.iloc[:,1].values,c=data['genre_color'])
iloc
是允许基于整数位置的索引的数据框属性,并values
删除仅返回实际值的标签。
推荐阅读
- node.js - Node.js 应用程序不会连接到 MongoDB 服务器
- ssl - 错误:1400410B:SSL 例程:CONNECT_CR_SRVR_HELLO:Istio ingressgateway 上 https 的版本号错误
- javascript - 尝试获取对象 - 猫鼬
- tensorflow - 在张量流上乘以张量的特定单元格
- python - 使用 lambda 创建字典(内部的增量计数器)
- r - R - 将 colorQuantile() 的函数传递给 ifelse() 内的传单()的 fillColor
- android - Flutter 和 Android Studio 最大堆大小问题
- java - 如何询问用户输入并将其返回到新库存中
- python - 是否可以使用 Lab 颜色空间来分割某些颜色?
- javascript - 导入正确的文件以在 React 中使用 firebase 的实时数据库