返回

用 Polars.pivot() 透视数据框:一步一步指南

python

使用 Polars.pivot() 透视数据框

简介

数据透视是数据分析中常见的一项操作,它将宽格式数据转换为长格式数据。在 R 语言中,pivot_longer() 函数用于执行此操作。在本文中,我们将探索 Polars 库中的 pivot() 函数,它提供了类似的功能,可以将数据框从宽格式转换为长格式。

Polars 库

Polars 是一个开源数据帧库,以其出色的性能和易用性而著称。它提供了丰富的函数,包括 pivot(),用于将数据框从宽格式转换为长格式。

使用 Polars.pivot()

要使用 pivot() 函数,我们需要指定要透视的列范围。以下是使用 Polars 将给定的数据框透视的步骤:

  1. 导入 Polars 库
import polars as pl
  1. 读取数据框
df = pl.read_csv("life-expectancy-and-fertility-two-countries-example.csv")
  1. 指定透视列范围
columns = df.columns.excludes(["country"]).between("1960", "2015")
  1. 透视数据框
df = df.pivot(columns=columns)

结果

透视后的数据框将包含以下列:

  • country:原始数据框中的国家列
  • year:透视列的名称
  • fertility:透视列的值

透视后的数据框将类似于以下内容:

print(df.head())

# 输出
   country  year  fertility
0  Germany  1960       2.41
1  Germany  1961       2.44
2  Germany  1962       2.47
3  Germany  1963       2.49
4  Germany  1964       2.49

结论

使用 Polars 的 pivot() 函数,我们可以轻松地将数据框从宽格式转换为长格式,类似于 R 中的 pivot_longer() 函数。通过指定要透视的列范围,我们可以重新组织数据,使其更适合分析和建模任务。

常见问题解答

  1. Polars.pivot() 和 R 中的 pivot_longer() 有什么区别?

    • Polars.pivot() 仅适用于 Polars 数据框,而 pivot_longer() 适用于 R 数据框。
  2. 我可以透视多个列吗?

    • 是的,您可以指定多个列作为透视列范围。
  3. 我可以控制透视后的列顺序吗?

    • 是的,您可以使用 columns 参数指定透视列的顺序。
  4. 我可以在透视的同时对数据进行聚合吗?

    • 是的,您可以使用 agg() 函数在透视时对数据进行聚合。
  5. Polars.pivot() 的性能如何?

    • Polars.pivot() 的性能非常出色,尤其是在处理大型数据集时。