Polars 排序数据
最后修改时间:2025年3月1日
Polars 是一个快速高效的 Python DataFrame 库。数据排序是数据分析中的常见操作。本教程通过实际示例介绍如何在 Polars 中排序数据。
排序有助于组织数据,以便更好地分析和可视化。Polars 提供了 sort
和 sort_by
等方法来排序 DataFrames。
基本排序
此示例展示了如何按单列对 DataFrame 进行排序。
import polars as pl data = { 'Name': ['Alice', 'Bob', 'Charlie', 'David'], 'Age': [25, 30, 22, 35] } df = pl.DataFrame(data) sorted_df = df.sort('Age') print(sorted_df)
sort('Age')
按 'Age' 列升序对 DataFrame 进行排序。这对于按特定属性组织数据非常有用。
降序排序
此示例演示了如何按降序对 DataFrame 进行排序。
import polars as pl data = { 'Name': ['Alice', 'Bob', 'Charlie', 'David'], 'Age': [25, 30, 22, 35] } df = pl.DataFrame(data) sorted_df = df.sort('Age', reverse=True) print(sorted_df)
sort('Age', reverse=True)
按 'Age' 列降序对 DataFrame 进行排序。这对于对数据进行排名非常有用。
按多列排序
此示例展示了如何按多列对 DataFrame 进行排序。
import polars as pl data = { 'Name': ['Alice', 'Bob', 'Charlie', 'David'], 'Age': [25, 30, 22, 25], 'Salary': [50000, 60000, 45000, 55000] } df = pl.DataFrame(data) sorted_df = df.sort(['Age', 'Salary']) print(sorted_df)
sort(['Age', 'Salary'])
首先按 'Age' 排序,然后按 'Salary' 排序 DataFrame。这对于层次化排序非常有用。
带空值的排序
此示例演示了如何对带空值的 DataFrame 进行排序。
import polars as pl data = { 'Name': ['Alice', 'Bob', 'Charlie', 'David'], 'Age': [25, None, 22, 35] } df = pl.DataFrame(data) sorted_df = df.sort('Age', nulls_last=True) print(sorted_df)
sort('Age', nulls_last=True)
将空值放在最后进行 DataFrame 排序。这对于处理缺失数据非常有用。
按表达式排序
此示例展示了如何使用表达式对 DataFrame 进行排序。
import polars as pl data = { 'Name': ['Alice', 'Bob', 'Charlie', 'David'], 'Age': [25, 30, 22, 35] } df = pl.DataFrame(data) sorted_df = df.sort(pl.col('Age') * -1) print(sorted_df)
sort(pl.col('Age') * -1)
使用表达式按 'Age' 降序对 DataFrame 进行排序。这对于自定义排序逻辑非常有用。
自定义顺序排序
此示例演示了如何使用自定义顺序对 DataFrame 进行排序。
import polars as pl data = { 'Name': ['Alice', 'Bob', 'Charlie', 'David'], 'Age': [25, 30, 22, 35] } df = pl.DataFrame(data) sorted_df = df.sort('Name', descending=[False, True]) print(sorted_df)
sort('Name', descending=[False, True])
使用自定义顺序按 'Name' 对 DataFrame 进行排序。这对于特定的排序要求非常有用。
按索引排序
此示例展示了如何按其索引对 DataFrame 进行排序。
import polars as pl data = { 'Name': ['Alice', 'Bob', 'Charlie', 'David'], 'Age': [25, 30, 22, 35] } df = pl.DataFrame(data) sorted_df = df.sort(by='index', reverse=True) print(sorted_df)
sort(by='index', reverse=True)
按其索引降序对 DataFrame 进行排序。这对于重新排列行非常有用。
数据排序最佳实践
- 了解数据:排序前分析数据结构。
- 选择合适的列:选择与分析目标一致的列。
- 处理空值:使用
nulls_last
管理缺失数据。 - 验证结果:检查排序数据的准确性和一致性。
来源
在本文中,我们探讨了如何在 Polars 中对数据进行排序。
作者
所有 Polars 教程列表。