我有一个具有以下形式的数据框:
0 1 2 3 ... 9 10 11 output
0 2.451775 1.9565675 0.843128 -0.007820 ... 0.74554812 0.090777 -1.90625 a
1 -0.855458 -0.8444604 -0.619685 0.2273399 ... 1.3771857 4.089319 -0.16289 a
2 1.554580 1.9164567 0.643128 -0.0077550 ... 0.7771542 5.090777 -1.90625 b
是归一化numpy数组并添加最后一个名为output的列的结果。我添加了最后一列,以便能够在带有hue = output的sns.pairplot中使用它。
所以我要显示的是一组标签而不是数字0,1,2,.. n,因此我有一个标签列表,如:
labels=["label 1","label 2",...,"label n" ]
我要添加到对图中的,以使用标签名称而不是索引号0、1,... n-1。我已经做了以下事情:
sns.pairplot(df,vars=labels,hue="output")
但出现以下错误:
KeyError: 'label 1'
我尝试了`reset_index(drop = True)选项,但完全没有结果。 我该如何解决?
谢谢
答案 0 :(得分:0)
我认为您可以通过从“ matplotlib”轴获取信息并进行设置来做到这一点。
labels=["label 1","label 2",...,"label n" ]
g = sns.pairplot(df,vars=labels,hue="output")
for ax, lbl in zip(g.axes.flatten(), labels):
# print(ax, lbl)
ax.set_ylabel(f'{lbl}')