changing sort in value_counts

dataframe, pandas, python

Solution

I think you need `sort_index`, because the left column is called `index`. The full command would be `mt = mobile.PattLen.value_counts().sort_index()`. For example:

mobile = pd.DataFrame({'PattLen':[1,1,2,6,6,7,7,7,7,8]})
print (mobile)
   PattLen
0        1
1        1
2        2
3        6
4        6
5        7
6        7
7        7
8        7
9        8

print (mobile.PattLen.value_counts())
7    4
6    2
1    2
8    1
2    1
Name: PattLen, dtype: int64


mt = mobile.PattLen.value_counts().sort_index()
print (mt)
1    2
2    1
6    2
7    4
8    1
Name: PattLen, dtype: int64

Problem

If I do ``` mt = mobile.PattLen.value_counts() # sort True by default ``` I get ``` 4 2831 3 2555 5 1561 [...] ``` If I do ``` mt = mobile.PattLen.value_counts(sort=False) ``` I get ``` 8 225 9 120 2 1234 [...] ``` What I am trying to do is get the output in 2, 3, 4 ascending order (the left numeric column). Can I change value_counts somehow or do I need to use a different function.

Original source