Polars Select 函数
最后修改时间:2025年3月1日
Polars 是一个快速、高效的 Python DataFrame 库。select
函数用于从 DataFrame 中选择特定列。本教程将通过实际示例介绍如何使用 select
函数。
select
函数对于数据操作任务至关重要,例如过滤列、重命名和应用转换。Polars 为这些操作提供了简单直观的 API。
基本列选择
本示例展示了如何从 DataFrame 中选择特定列。
import polars as pl df = pl.DataFrame({ 'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9] }) selected = df.select(['A', 'B']) print(selected)
select(['A', 'B'])
从 DataFrame 中选择 'A' 和 'B' 列。这对于聚焦特定数据非常有用。
带重命名的选择
本示例演示了在选择时重命名列。
import polars as pl df = pl.DataFrame({ 'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9] }) selected = df.select([ pl.col('A').alias('Column1'), pl.col('B').alias('Column2') ]) print(selected)
alias
函数在选择时重命名列。这对于创建更具可读性的列名非常有用。
带表达式的选择
本示例展示了如何在列选择时应用表达式。
import polars as pl df = pl.DataFrame({ 'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9] }) selected = df.select([ (pl.col('A') + pl.col('B')).alias('Sum') ]) print(selected)
pl.col('A') + pl.col('B')
表达式计算 'A' 和 'B' 列的总和。这对于创建派生列非常有用。
带过滤的选择
本示例演示了在列选择时过滤行。
import polars as pl df = pl.DataFrame({ 'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9] }) selected = df.select([ pl.col('A').filter(pl.col('A') > 1) ]) print(selected)
filter(pl.col('A') > 1)
过滤 'A' 列大于 1 的行。这对于条件数据选择非常有用。
带聚合的选择
本示例展示了如何在列选择时聚合数据。
import polars as pl df = pl.DataFrame({ 'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9] }) selected = df.select([ pl.col('A').sum().alias('Total') ]) print(selected)
sum
函数计算 'A' 列的总和。这对于汇总数据非常有用。
带多个表达式的选择
本示例演示了使用不同表达式选择多个列。
import polars as pl df = pl.DataFrame({ 'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9] }) selected = df.select([ pl.col('A').alias('Column1'), (pl.col('B') * 2).alias('DoubleB') ]) print(selected)
pl.col('B') * 2
表达式将 'B' 列的值加倍。这对于应用多个转换非常有用。
带条件逻辑的选择
本示例展示了如何在列选择时使用条件逻辑。
import polars as pl df = pl.DataFrame({ 'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9] }) selected = df.select([ pl.when(pl.col('A') > 1).then(pl.col('B')).otherwise(0).alias('Result') ]) print(selected)
when
和 then
函数应用条件逻辑。这对于创建动态列非常有用。
带字符串操作的选择
本示例演示了在列选择时进行字符串操作。
import polars as pl df = pl.DataFrame({ 'Name': ['Alice', 'Bob', 'Charlie'] }) selected = df.select([ pl.col('Name').str.to_uppercase().alias('UppercaseName') ]) print(selected)
str.to_uppercase
函数将名称转换为大写。这对于文本操作非常有用。
带日期操作的选择
本示例展示了如何在列选择时执行日期操作。
import polars as pl df = pl.DataFrame({ 'Date': ['2023-01-01', '2023-02-01', '2023-03-01'] }) selected = df.select([ pl.col('Date').str.strptime(pl.Date, '%Y-%m-%d').dt.month().alias('Month') ]) print(selected)
dt.month
函数从日期中提取月份。这对于基于时间的分析非常有用。
带嵌套数据选择
本示例演示了从 DataFrame 中选择嵌套数据。
import polars as pl df = pl.DataFrame({ 'A': [1, 2, 3], 'B': [[4, 5], [6, 7], [8, 9]] }) selected = df.select([ pl.col('B').arr.get(0).alias('FirstElement') ]) print(selected)
arr.get(0)
函数从嵌套列表中提取第一个元素。这对于处理复杂数据结构非常有用。
使用 Select 的最佳实践
- 规划列选择: 在应用
select
之前,先确定所需的列。 - 使用别名: 重命名列以提高可读性。
- 组合表达式: 在一次
select
调用中应用多个转换。 - 优化性能: 避免不必要的列选择以提高速度。
来源
在本文中,我们探讨了如何在 Polars 中使用 select
函数。
作者
所有 Polars 教程列表。