欢迎访问我的网站,希望内容对您有用,感兴趣的可以加入我们的社群。

一款Python高性能数据处理工具

实用模块 迷途小书童 1年前 (2023-10-02) 1110次浏览 0个评论

简介

Polars 是一个开源的 Python 库,是一个高性能数据处理库,提供了类似于 PandasAPI 接口。它在处理大规模数据时表现出色,能够快速执行各种数据操作,如筛选、转换、连接等。

安装

要安装 Polars 库,可以使用 pip 命令

pip install polars pyarrow

基本使用

下面我们来看看 Polars 库的基本使用方法及示例

创建和加载数据

Polars 中,可以使用 polars.DataFrame 对象来表示数据。可以通过多种方式创建和加载数据,如手动创建、从 CSV 文件加载、从 Pandas DataFrame 转换等。以下是一些常用的示例代码

import polars as pl
import pandas as pd

# 创建DataFrame
df = pl.DataFrame({
    'name': ['Alice', 'Bob', 'Charlie'],
    'age': [25, 30, 35]
})

# 从CSV文件加载数据
# df = pl.read_csv('data.csv')

# 从Pandas DataFrame转换
pandas_df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35]})
df = pl.from_pandas(pandas_df)
print(df)

代码执行的结果为

python polars

数据筛选和过滤

Polars 提供了灵活的筛选和过滤功能,可以根据条件选择特定的行或列。以下是一些示例代码

# 根据条件筛选行
filtered_df = df.filter(pl.col("age") > 30)

# 根据条件筛选列
selected_df = df[['name', 'age']]
print(selected_df)

# 使用多个条件筛选
filtered_df = df.filter((pl.col("age") > 30) & (pl.col("name") == "Bob"))
print(filtered_df)

python polars

数据转换

Polars 提供了丰富的数据转换和操作功能,如添加新列、重命名列、排序等。以下是一些示例代码

# 添加新列height
df = df.with_columns(pl.Series('height', [160, 170, 180]))

# 重命名age列
df = df.with_columns(pl.col('age').alias('years'))

# 按列进行排序
sorted_df = df.sort('age')
print(sorted_df)

python polars

数据聚合和分组

Polars 支持灵活的数据聚合和分组操作,可以根据指定的列对数据进行分组,并进行各种聚合操作,如求和、计数、平均值等。以下是一些示例代码

import polars as pl

# 创建DataFrame
df = pl.DataFrame({
    'name': ['fish', 'meat', 'fish', 'meat'],
    'price': [25, 30, 35, 40]
})

# 按name列分组,并计算每个类别的平均售价
grouped_df = df.group_by('name').agg(pl.col('price').mean())
print(grouped_df)

python polars

数据连接

Polars 提供了多种数据连接的方法,如合并两个 DataFrame、连接两个 DataFrame 等。以下是一个示例代码

import polars as pl

# 创建DataFrame
df = pl.DataFrame({
    'name': ['fish', 'meat'],
    'price': [25, 30]
})

df1 = pl.DataFrame({
    'name': ['beef', 'vegetable'],
    'price': [65, 10]
})

# 连接两个DataFrame
joined_df = df.join(df1, on='name', how="outer")
print(joined_df)

python polars

自定义函数和映射

Polars 中,可以使用自定义函数和映射来对数据进行复杂的转换和操作。以下是一个示例代码

import polars as pl

# 创建DataFrame
df = pl.DataFrame({
    'name': ['Alice', 'Bob', 'Charlie'],
    'age': [25, 30, 35]
})

# 定义自定义函数
def double_age(age):
    return age * 2

# 应用自定义函数
df = df.with_columns(pl.col('age').map_batches(double_age).alias("double_age"))
print(df)

python polars

总结

在本文中,我们深入介绍了 Polars 库的基本原理和使用方法,并提供了相应的代码示例。通过学习 Polars 库,你将能够高效地处理和分析大规模数据,提高工作效率。更多详细信息可参考官方文档: https://github.com/pola-rs/polars

喜欢 (0)

您必须 登录 才能发表评论!