Python 3.x 散点图的不可损坏类型:“numpy.ndarray”

Python 3.x 散点图的不可损坏类型:“numpy.ndarray”,python-3.x,pandas,scatter-plot,dtype,Python 3.x,Pandas,Scatter Plot,Dtype,我得到了不可破坏的类型:“numpy.ndarray”错误。所以我将df_子集“Views”转换为int,然而,它返回的是object 以下是脚本: tsne = TSNE(n_components=2, verbose=1, perplexity=20, n_iter=1000) tsne_results = tsne.fit_transform(logits_list) df_subset = pd.DataFrame({'X':tsne_results[:,0], 'Y':tsne_

我得到了不可破坏的类型:“numpy.ndarray”错误。所以我将df_子集“Views”转换为int,然而,它返回的是object

以下是脚本:

tsne = TSNE(n_components=2, verbose=1, perplexity=20, n_iter=1000) 
tsne_results = tsne.fit_transform(logits_list)


df_subset = pd.DataFrame({'X':tsne_results[:,0], 'Y':tsne_results[:,1], 'Views':targets}) 
print(df_subset)
df_subset.astype({'Views': 'int'}).dtypes
print(df_subset.dtypes)

colors = {'A2CH':'red', 'A3CH':'green', 'A4CH_LV':'blue', 'A4CH_RV':'cyan', 'A5CH':'magneta', 'Apical_MV_LA_IAS':'yellow', 
          'PLAX_TV':'black', 'PLAX_full':'white', 'PLAX_valves':'orange', 'PSAX_AV':'purple', 'PSAX_LV':'dodgerblue', 'Subcostal_IVC':'lightgreen', 'Subcostal_heart':'darkcyan', 'Suprasternal':'grey'}

ax = sns.scatterplot(x= "X", y= "Y", hue='Views', legend = 'full',palette = colors, data=df_subset) 

plt.show()
这是df_子集和数据类型的打印:

我假设由于对象类型的原因,我得到了不可破坏的类型:“numpy.ndarray”错误?任何帮助都将不胜感激

.astype返回一个副本,因此如果您这样做,它应该可以工作

df_subset = df_subset.astype({'Views': int})

可能会更改为“视图”:targets.ravel用于创建df_子集。我同意@QuangHoang或df_subset.Views=df_subset.Views.str[0]谢谢,@Jeyes Unterwegs。我没有得到那个错误,但是,我不能描绘它们。它抛出了一个错误调色板字典缺少键:{0,1,2,3,4,5,6,7,8,9,10,11,12,13},有什么想法吗?通过设置palete=sns.color\u paletten\u colors=14解决了这个问题
df_subset = df_subset.astype({'Views': int})