python将数据集按照某一列排序
时间: 2023-11-13 11:05:58 浏览: 36
可以使用 Python 的内置函数 `sorted()` 对数据集进行排序,其中可以指定按照哪一列来排序。
假设有以下数据集:
```
data = [
['John', 29, 1000],
['Mary', 23, 1500],
['Bob', 35, 800],
['Alice', 27, 1200]
]
```
现在想要按照第三列的数值大小进行排序,可以使用以下代码:
```
sorted_data = sorted(data, key=lambda x: x[2])
```
这里使用了 `lambda` 表达式来指定按照第三列排序,也可以使用 `itemgetter()` 函数来实现:
```
from operator import itemgetter
sorted_data = sorted(data, key=itemgetter(2))
```
最终得到的 `sorted_data` 如下所示:
```
[
['Bob', 35, 800],
['John', 29, 1000],
['Alice', 27, 1200],
['Mary', 23, 1500]
]
```
可以看到,数据集已经按照第三列的数值大小进行了排序。
相关问题
python dataframe 按某一列排序
你可以使用pandas库中的sort_values方法。例如,如果你想按照某一列“column_name”进行升序排序,可以使用以下代码:
df.sort_values(by='column_name', inplace=True)
其中,参数by指定按照哪一列进行排序;参数inplace指定是否原地修改数据集(默认为False,即不修改原数据集)。如果你想进行降序排序,可以将参数ascending设置为False,即:
df.sort_values(by='column_name', ascending=False, inplace=True)
pandas中对数据集按列排序的代码
可以使用`sort_values()`函数对数据集按列排序,例如:
```python
import pandas as pd
# 创建一个数据集
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
'age': [25, 30, 20, 35],
'salary': [5000, 8000, 6000, 9000]}
df = pd.DataFrame(data)
# 按salary列降序排序
df = df.sort_values(by='salary', ascending=False)
print(df)
```
输出:
```
name age salary
3 David 35 9000
2 Charlie 20 6000
1 Bob 30 8000
0 Alice 25 5000
```
其中`by`参数指定按哪一列排序,`ascending`参数指定升序还是降序排列。