我想使用sort_index对value_counts()
进行排序我拥有的df就像这样
a
1 low
2 high
3 vhigh
...
我想计算列a并按索引为low,med,high,vhigh
对它们进行排序df['a'].value_counts() med 20 high 30 low 10 vhigh 15
如果我添加sort_index,它就像这样
high 30 low 10 med 20 vhigh 15
这就是我想要的东西
low 10 med 20 high 30 vhigh 15
答案 0 :(得分:1)
鉴于这个问题,这需要一个自定义排序问题 -
value counts
0 med 20
1 high 30
2 low 10
3 vhigh 15
这是您执行df
value_counts()
将value
字段定义为pd.Categorical
并定义顺序 -
df['value'] = pd.Categorical(df['value'], ["low", "med", "high", "vhigh"])
然后进行排序 -
df.sort_values('value')
<强>输出强>
value counts
2 low 10
0 med 20
1 high 30
3 vhigh 15