Pandas

Attributeerror: dataframe’ object has no attribute ‘sort’ ( Solved )

Suppose some columns in dataframe contain records of the type of numerical or string type and want to sort them. But you may encounter errors like Attributeerror: dataframe’ object has no attribute ‘sort’ while using the sort() function. In this tutorial, you will know how to solve the Attributeerror: dataframe’ object has no attribute ‘sort’ in an easy way.

Why Attributeerror: dataframe’ object has no attribute ‘sort’ Occurs?

The root cause of the error dataframe’ has no attribute ‘sort’ is that you must be using the new version of the pandas version. The dataframe.sort() function must not be available in the newest version of the pandas.

You will get the dataframe’ has no attribute ‘sort’ error when you will run the below lines of code.

np.random.seed(0)
df = pd.DataFrame({'col1': list('pqrstuv'), 'col2': np.random.choice(10, 7)})
df.sort()

Output

object has no attribute sort error

Solution of dataframe’ object has no attribute ‘sort’ Error

There are two ways to solve this error. The first way is the use the old version of pandas package so that you can use the sort() function. The other way is to use the other sorting function provided by the newest pandas package. I will advise you that don’t use the older version of pandas packages as there are many functions deprecated in it.

To sort the dataframe the newest version of the pandas library provided a function and is sort_values(). Instead of using the sort() function use sort_values().

Now if using the sort_values([“col2]) function then I will not get any sort error.

np.random.seed(0)
df = pd.DataFrame({'col1': list('pqrstuv'), 'col2': np.random.choice(10, 7)})
df.sort_values(["col2"])

Output

Sorting the dataframe using sort_values() function

Conclusion

Sometimes you get the arrtibuteerror on some function in dataframe. And it is mostly due to the fact that you must be using an older version of the pandas version. So always use the updated function of the pandas and check the function before using it in your code.

I hope the solution described here has solved your query. If you have any doubts then you can contact us for more help.