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

135 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 在 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)