我有一个包含4000多个观测值和两个感兴趣的列的数据框:收入和cluster _。
我要创建一个带有seaborn的小节,如下所示:
我现在想要的是按字母顺序对条形进行排序,即首先(最左端)是A +,然后是A,B +,B,C。
以下命令产生值错误:
sorted_keys = ['A+', 'A', 'B+', 'B', 'C']
data7a.set_index('cluster_').reindex(sorted_keys, axis = 0)
ValueError: cannot reindex from a duplicate axis
我该怎么做?
答案 0 :(得分:0)
过时的:
sns.barplot(x='cluster_', y='Revenue', data=data7.sort_index())
,因为可以创建情节。 而且,如果您想要任意顺序的列,您仍然可以
sorted_keys = ['C', 'B+', 'A+', 'B', 'A'] # for example
sns.barplot(x='cluster_', y='Revenue', data=data7.reindex(sorted_keys))
具有想要的任意顺序。
编辑:在seaborn中使用barplot时,您可以传递参数order
,因此
sns.barplot(x='cluster_', y='Revenue', data=data7, order=['A', 'A+', 'B', 'B+', 'C'])
你应该很好。