如何通过索引和列对Pandas数据框架进行排序
在这篇文章中,我们将讨论如何通过索引和列对Pandas数据框架进行排序。
方法1:基于索引对数据帧进行排序
我们可以使用sort_index方法根据索引和列对Pandas DataFrame进行排序。
- 为了根据索引对DataFrame进行排序,我们需要将axis=0作为一个参数传递给sort_index方法。
- 为了根据列名对DataFrame进行排序,我们需要将axis=1作为参数传递给sort_index方法。
语法
参数
- axis- 指定在哪个基础上排序,是基于索引还是基于列。默认情况下,它基于索引进行排序,即axe=0。
- ascending- 指定以何种顺序排序,是升序还是降序。它接受True或False。默认情况下,它是True。
- inplace- 它指定对DataFrame的改变是临时的还是永久的。 inplace=False表示临时的,True表示永久的。
- kind- 指定要使用的排序算法。它接受quicksort、mergesort、heapsort等。默认情况下,如果没有提到,它是quicksort。
DataFrame | col2 | col1 |
---|---|---|
3 | 150 | 70 |
2 | 170 | 55 |
1 | 160 | 60 |
这就是我们在下面的代码中用于排序的DataFrame。通过在sort_index方法中指定axis=0,我们可以对DataFrame进行排序。即使我们没有在sort_index中指定axis参数,默认情况下也会根据行来对DataFrame进行排序。
示例:
在这个例子中,DataFrame是一个基于索引标签的排序的DataFrame,这是用python语言临时排序的。
输出
方法2:基于列的DataFrame排序
为了根据列名对DataFrame中的数据进行排序,我们需要将axis=1作为参数传递给python语言中的sort_index方法。
代码
输出
示例代码对数据框架进行排序并永久保存原始数据框架的变化。
这里的排序操作是直接在原始DataFrame上进行的,由于inplace=True参数的存在,变化被永久保存。
输出