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 教程列表。