geekdoc-python-zh/docs/askpython/sorting-a-dataframe.md

135 lines
3.3 KiB
Markdown
Raw Normal View History

2024-10-20 12:24:46 +08:00
# 在 Python 中对数据帧进行排序—循序渐进
> 原文:<https://www.askpython.com/python-modules/pandas/sorting-a-dataframe>
嘿,读者们!在本文中,我们将详细关注 Python 中对数据帧的**排序。所以,让我们开始吧!**
* * *
## 使用 sort_values()函数对数据帧进行排序
[Python Pandas 模块](https://www.askpython.com/python-modules/pandas/python-pandas-module-tutorial)为我们提供了各种处理大数据记录的函数。在根据数据帧处理数据记录时,我们经常会遇到需要对数据进行排序并表示输出的情况。
就在这时Python*pandas . data frame . sort _ values()*函数出现了。
`sort_values() function`以定制的方式按**升序**或**降序**对数据进行排序。
现在,让我们在下一节集中讨论函数的结构。
* * *
## Python 中 sort_values()函数的语法
看看下面的语法!
```py
pandas.DataFrame.sort_values(by, axis=0, ascending=True, kind=mergesort)
```
* **by** :表示要排序的列的列表。
* **轴** : 0 表示按行排序1 表示按列排序。
* **升序**:如果为真,则按升序对数据帧进行排序。
* **种类**:可以有三个值:`Quicksort`、`mergesort` 或`heapsort`。
现在,让我们在下一节中关注 sort_values()函数的实现。
* * *
## Python 中对数据帧进行排序的示例代码
在这个例子中,我们已经用`pandas.dataframe()`函数初步创建了一个数据帧。此外,我们已经使用 sort_values()函数按降序对“RATE”列进行了排序。
**举例:**
```py
import pandas as pd
data = pd.DataFrame([[3,0,1], [4,4,4], [1,7,7], [10,10,10]],
index=['Python', 'Java', 'C','Kotlin'],
columns=['RATE','EE','AA'])
sort = data.sort_values("RATE", axis = 0, ascending = False)
print("Data before sorting:\n")
print(data)
print("Data after sorting:\n")
print(sort)
```
**输出:**
```py
Data before sorting:
RATE EE AA
Python 3 0 1
Java 4 4 4
C 1 7 7
Kotlin 10 10 10
Data after sorting:
RATE EE AA
Kotlin 10 10 10
Java 4 4 4
Python 3 0 1
C 1 7 7
```
在下面的例子中我们按两列对上述数据帧进行了排序即“EE”和“AA ”,如下所示。
**举例:**
```py
import pandas as pd
data = pd.DataFrame([[3,0,1], [4,4,4], [1,7,7], [10,10,10]],
index=['Python', 'Java', 'C','Kotlin'],
columns=['RATE','EE','AA'])
sort = data.sort_values(["EE","AA"], axis = 0, ascending = True)
print("Data before sorting:\n")
print(data)
print("Data after sorting:\n")
print(sort)
```
**输出:**
如下图所示数据框分别按照列“EE”和“AA”以升序排序。
```py
Data before sorting:
RATE EE AA
Python 3 0 1
Java 4 4 4
C 1 7 7
Kotlin 10 10 10
Data after sorting:
RATE EE AA
Python 3 0 1
Java 4 4 4
C 1 7 7
Kotlin 10 10 10
```
* * *
## 结论
到此,我们就结束了这个话题。我们已经了解了 sort_values()函数对数据帧进行排序的功能。
如果你遇到任何问题,欢迎在下面评论。更多与 Python 相关的此类帖子,敬请关注,继续学习!
* * *
## 参考
* [Python sort_values()函数—文档](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.sort_values.html)