Polars 的 DataFrame

devtools/2024/10/22 13:53:14/

DataFrame

        • 聚合 (Aggregation)
        • 属性 (Attributes)
        • 计算 (Compute)
        • 描述性 (Descriptive)
        • 导出 (Export)
        • 分组 (Groupby)
        • 选择 (Selection)
        • 操作 (Operations)
        • 杂项 (Miscellaneous)
        • Plot
        • Style

聚合 (Aggregation)
  • agg(): 对DataFrame中的列进行聚合操作。
  • sum(): 计算列的总和。
  • mean(): 计算列的平均值。
  • max(): 找到列中的最大值。
  • min(): 找到列中的最小值。
    例子:
python">import polars as pl
df = pl.DataFrame({"a": [1, 2, 3],"b": [4, 5, 6]
})
# 计算每列的总和
sums = df.sum()
print(sums)
# 计算每列的平均值
means = df.mean()
print(means)
属性 (Attributes)
  • columns: 返回DataFrame中的列名列表。
  • dtypes: 返回DataFrame中每列的数据类型。
  • height: 返回DataFrame中的行数。
  • shape: 返回DataFrame的形状(行数,列数)。
    例子:
python"># 获取DataFrame的列名
columns = df.columns
print(columns)
# 获取DataFrame的数据类型
dtypes = df.dtypes
print(dtypes)
# 获取DataFrame的形状
shape = df.shape
print(shape)
计算 (Compute)
  • apply(): 对DataFrame中的每一行或列应用一个函数。
  • filter(): 根据条件过滤DataFrame中的行。
    例子:
python"># 应用函数到每一列
df_applied = df.apply(lambda col: col * 2)
print(df_applied)
# 过滤行
df_filtered = df.filter(pl.col("a") > 1)
print(df_filtered)
描述性 (Descriptive)
  • describe(): 提供DataFrame的统计摘要。
  • head(): 返回DataFrame的前几行。
  • tail(): 返回DataFrame的最后几行。
    例子:
python"># 获取DataFrame的统计摘要
description = df.describe()
print(description)
# 获取前两行
head = df.head(2)
print(head)
# 获取最后两行
tail = df.tail(2)
print(tail)
导出 (Export)
  • to_csv(): 将DataFrame导出为CSV文件。
  • to_parquet(): 将DataFrame导出为Parquet文件。
    例子:
python"># 导出为CSV
df.to_csv("data.csv")
# 导出为Parquet
df.to_parquet("data.parquet")
分组 (Groupby)
  • groupby(): 对DataFrame进行分组操作。
  • pivot(): 对DataFrame进行透视操作。
    例子:
python"># 按列'a'分组并计算每组的总和
grouped_sum = df.groupby("a").sum()
print(grouped_sum)
# 透视操作
pivot_df = df.pivot("a", values="b", aggregation="sum")
print(pivot_df)
选择 (Selection)
  • select(): 选择DataFrame中的列。
  • filter(): 根据条件选择行。
    例子:
python"># 选择列'a'和'b'
selected_df = df.select([pl.col("a"), pl.col("b")])
print(selected_df)
# 根据条件选择行
filtered_df = df.filter(pl.col("b") > 4)
print(filtered_df)
操作 (Operations)
  • with_column(): 向DataFrame添加或替换列。
  • with_columns(): 向DataFrame添加多个列。
    例子:
python"># 添加新列
df_with_col = df.with_column(pl.col("a") * 2)
print(df_with_col)
# 添加多个新列
df_with_cols = df.with_columns([pl.col("a") * 2,pl.col("b") - 1
])
print(df_with_cols)
杂项 (Miscellaneous)
  • clone(): 克隆DataFrame。
  • drop(): 删除列。
  • fill_null(): 填充空值。
    例子:
python"># 克隆DataFrame
df_clone = df.clone()
print(df_clone)
# 删除列
df_dropped = df.drop("a")
print(df_dropped)
# 填充空值
df_filled = df.with_column(pl.col("a").fill_null(0))
print(df_filled)
Plot
  • line_chart(): 绘制线图。
  • bar_chart(): 绘制条形图。
    例子:
python"># 绘制线图
df.plot.line_chart(x="a", y="b")
# 绘制条形图
df.plot.bar_chart(x="a", y="b")
Style
  • style(): 用于设置DataFrame的显示样式。
    例子:
python"># 设置DataFrame的显示样式
styled_df = df.style().set_column_names(["Column A", "Column B"]).set_table_styles([{"selector": "th","props": [("color", "blue")]
}])
print(styled_df)

以上是DataFrame部分的详细内容和一些基本的使用例子。这些例子展示了如何使用Polars的DataFrame API进行各种数据操作,包括聚合、选择、过滤、分组、导出、绘图和样式设置等。通过这些操作,用户可以有效地处理和分析数据集。请注意,实际使用时可能需要根据具体的数据和需求调整代码。更多高级功能和详细用法,请参考Polars的官方文档。


http://www.ppmy.cn/devtools/122135.html

相关文章

手机号码测吉凶接口

手机号码测吉凶接口通常指的是一种在线服务或API,它根据用户输入的手机号码,通过特定的算法或规则来判断该号码的吉凶。以下是对手机号码测吉凶接口的详细分析: 一、接口背景与原理 背景: 手机号码测吉凶在中国传统文化中具有一定…

Python项目文档生成常用工具对比

写在前面: 通过阅读本片文章,你将了解:主流的Python项目文档生成工具(Sphinx,MkDocs,pydoc,Pdoc)简介及对比,本文档不涉及相关工具的使用。 概述 近期,由于…

数据仓库的建设——从数据到知识的桥梁

数据仓库的建设——从数据到知识的桥梁 前言数据仓库的建设 前言 企业每天都在产生海量的数据,这些数据就像无数散落的珍珠,看似杂乱无章,但每一颗都蕴含着潜在的价值。而数据仓库,就是那根将珍珠串起来的线,它能够把…

安卓使用memtester进行内存压力测试

memteser简介 memtester 是一个用于测试内存可靠性的工具。 它可以对计算机的内存进行压力测试,以检测内存中的错误,例如位翻转、随机存取错误等。memtester 可以在不同的操作系统上运行,并且可以针对不同大小的内存进行测试。 下载源码 m…

ROS无人机机械爪使用

引言:使用飞控的主通道5-8作为舵机控制输出,需要提前设置好飞控参数,否则无效。本节资料文件尚未整理完毕,整理完毕后会在B站进行视频讲解,并进行开源 1、启动mavros通信,用于订阅遥控器的按键信息&#x…

FireRedTTS - 小红书最新开源AI语音克隆合成系统 免训练一键音频克隆 本地一键整合包下载

小红书技术团队FireRed最近推出了一款名为FireRedTTS的先进语音合成系统,该系统能够基于少量参考音频快速模仿任意音色和说话风格,实现独特的音频内容创造。 FireRedTTS 只需要给定文本和几秒钟参考音频,无需训练,就可模仿任意音色…

基于springboot vue 电影推荐系统

博主介绍:专注于Java(springboot ssm 等开发框架) vue .net php python(flask Django) 小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找…

【C#生态园】探索地理信息系统软件套件与库:功能、API和应用

探索地理信息系统:软件套件与库详解 前言 地理信息系统(GIS)是当今世界上广泛使用的技术之一,它以空间数据为基础,能够提供丰富的地理信息分析和可视化功能。在GIS领域,有许多优秀的软件套件和库&#xf…