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.