JohnJ
JohnJ

Reputation: 7056

pandas not sorting as expected

I have a pandas dataframe I am trying to sort, which contains a int column (encoded target) which I sort like so:

some_set.encoded_target = train_set.encoded_target.astype(int) # last but one column
some_set.sort_values(by='encoded_target', ascending=True)
print(some_set)

and this gives me:

1953  61c4930b42ca426eb8dfaf7314899d08__11_115_3...  61c4930b42ca426eb8dfaf7314899d08__115             134  61c4930b42ca426eb8dfaf7314899d08
1623  3659cfea02b44543812e13f0d7fb7147__105_105_4...  3659cfea02b44543812e13f0d7fb7147__105              63  3659cfea02b44543812e13f0d7fb7147
241   bd67717fe59e4fa8bb5307a663016eb3__13_13_3_p...   bd67717fe59e4fa8bb5307a663016eb3__13             290  bd67717fe59e4fa8bb5307a663016eb3
1573  9fdfabfad9974d6cac5b588ff2d9e47a__194__194_2...  9fdfabfad9974d6cac5b588ff2d9e47a__194             238  9fdfabfad9974d6cac5b588ff2d9e47a
602   0a64aee93755481cb9f5162373c776f8__182__182_1...  0a64aee93755481cb9f5162373c776f8__182              13  0a64aee93755481cb9f5162373c776f8
...                                                 ...                                    ...             ...                               ...
1779  7b19321376b842a2aece02cd458fb043__186__186_3...  7b19321376b842a2aece02cd458fb043__186             187  7b19321376b842a2aece02cd458fb043
2910  64bff78431914373a78c8f547d985b7d__141__141_2...  64bff78431914373a78c8f547d985b7d__141             142  64bff78431914373a78c8f547d985b7d
1377  2410de3f2fee45cdab25b61428f282bd__93__93_3_p...   2410de3f2fee45cdab25b61428f282bd__93              39  2410de3f2fee45cdab25b61428f282bd
2533  a567db4f10c34228b5452f79b5ff08d7__43__43_1_p...   a567db4f10c34228b5452f79b5ff08d7__43             247  a567db4f10c34228b5452f79b5ff08d7
2790  9430d8f375bc4888a0a61b47bc7228fd__102__102_3...  9430d8f375bc4888a0a61b47bc7228fd__102             217  9430d8f375bc4888a0a61b47bc7228fd

clearly, this is wrong, 13 must come before 134

I have spent two hours trying to figure WTF could be wrong, but I am having no lick whatsoever.

:((

Any clues would be great.

Upvotes: 0

Views: 30

Answers (1)

BENY
BENY

Reputation: 323236

One thing need to remember is to assign it back

some_set = some_set.sort_values(by='encoded_target', ascending=True)

Upvotes: 2

Related Questions