Polars 的 DataFrame

news2024/10/6 13:19:38

DataFrame

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

聚合 (Aggregation)
  • agg(): 对DataFrame中的列进行聚合操作。
  • sum(): 计算列的总和。
  • mean(): 计算列的平均值。
  • max(): 找到列中的最大值。
  • min(): 找到列中的最小值。
    例子:
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的形状(行数,列数)。
    例子:
# 获取DataFrame的列名
columns = df.columns
print(columns)
# 获取DataFrame的数据类型
dtypes = df.dtypes
print(dtypes)
# 获取DataFrame的形状
shape = df.shape
print(shape)
计算 (Compute)
  • apply(): 对DataFrame中的每一行或列应用一个函数。
  • filter(): 根据条件过滤DataFrame中的行。
    例子:
# 应用函数到每一列
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的最后几行。
    例子:
# 获取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文件。
    例子:
# 导出为CSV
df.to_csv("data.csv")
# 导出为Parquet
df.to_parquet("data.parquet")
分组 (Groupby)
  • groupby(): 对DataFrame进行分组操作。
  • pivot(): 对DataFrame进行透视操作。
    例子:
# 按列'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(): 根据条件选择行。
    例子:
# 选择列'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添加多个列。
    例子:
# 添加新列
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(): 填充空值。
    例子:
# 克隆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(): 绘制条形图。
    例子:
# 绘制线图
df.plot.line_chart(x="a", y="b")
# 绘制条形图
df.plot.bar_chart(x="a", y="b")
Style
  • style(): 用于设置DataFrame的显示样式。
    例子:
# 设置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.coloradmin.cn/o/2191983.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【笔记】信度检验

一、信度 信度是指测量结果的一致性和稳定性。 1.一致性(Consistency) 一致性指的是测量工具内部各个部分或项目之间的协调一致程度。高一致性意味着测量工具的不同部分都在测量同一个概念或特质。 例子:智力测试 假设我们有一个包含100…

成为AI产品经理,应该具备哪些条件?

开篇勘误标题:未来不会有AI产品经理这个岗位,就像没有移动产品经理一样。 如果你是个产品经理,但是不懂移动端的产品交互和设计,那你就只能在自己的头衔前面加上一个“PC”:PC产品经理,代表你的细分或者不…

在线Html到Markdown转换器

具体请前往:在线Html转Markdown

6个最受欢迎的大模型本地运行工具

运行大型语言模型 (LLM)(如 ChatGPT 和 Claude)通常涉及将数据发送到 OpenAI 和其他 AI 模型提供商管理的服务器。虽然这些服务是安全的,但一些企业更愿意将数据完全离线,以保护更大的隐私。 本文介绍了开发人员可以用来在本地运…

Java 枚举一口气讲完!(´▽`ʃ♡ƪ)

Java 枚举类型 Java面向对象设计 - Java枚举类型 什么是枚举类型&#xff1f; 枚举类型创建常量的有序列表作为类型。它以特定顺序指定常量。 在枚举类型中定义的常量是该枚举类型的实例。 语法 使用关键字enum使用以下语法定义枚举类型&#xff1a; <access-modifie…

Vue基础指令用法

vue2&#xff0c;官网&#xff1a;介绍 — Vue.js (vuejs.org) 例子&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-s…

【SpringBoot】基础+JSR303数据校验

目录 一、Spring Boot概要 1. SpringBoot介绍 2. SpringBoot优点 3. SpringBoot缺点 4. 时代背景-微服务 二、Spring Boot 核心配置 1. Spring Boot配置文件分类 1.1 application.properties 1.2 application.yml 1.3 小结 2. YAML概述 3. YAML基础语法 3.1 注意事…

生信初学者教程(二十六):特征和免疫浸润的关联分析

文章目录 介绍加载R包导入数据函数重要特征与免疫细胞的相关热图SLC6A8关联图SLC6A8与特定免疫细胞SLC6A8与其他免疫细胞输出结果总结介绍 在成功获取核心特征集之后,我们计划深入地探究这些特征与免疫浸润细胞之间的关联性,这是因为免疫浸润细胞在癌症的进程中扮演着至关重要…

成都睿明智科技有限公司抖音电商新蓝海的领航者

在当今这个数字化浪潮汹涌的时代&#xff0c;电商行业正以惊人的速度迭代升级&#xff0c;而抖音电商作为新兴势力&#xff0c;更是凭借其庞大的用户基数、精准的算法推荐和高度互动的社区氛围&#xff0c;成为了众多商家竞相追逐的蓝海市场。在这片充满机遇与挑战的海洋中&…

关于Excel将列号由字母改为数字

将Excel的列表由字母改为数字 步骤&#xff1a; 文件-选项-公式-勾选“使用公式”中的“R1C1引用样式(R)”-确定即可 部分步骤图示 设置前的样子 设置后的样子 虽然现在还不清楚在xlwings操作Excel时有什么作用&#xff0c;先留着吧。

内网靶场 | 渗透攻击红队内网域渗透靶场-1(Metasploit)零基础入门到精通,收藏这一篇就够了

“ 和昨天的文章同一套靶场&#xff0c;这次主要使用的是Kali Linux以及Metasploit来打靶场&#xff0c;熟悉一下MSF在内网渗透中的使用&#xff0c;仅供学习参考&#xff0c;大佬勿喷。本期文章靶场来自公众号&#xff1a;渗透攻击红队。” 靶场下载地址&#xff1a;https://…

SpringBoot框架在在线教育系统中的应用

3系统分析 3.1可行性分析 通过对本微服务在线教育系统实行的目的初步调查和分析&#xff0c;提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本微服务在线教育系统采用SSM框架&#xff0c;JAVA作为开…

微调大语言模型——超详细步骤

微调一个语言模型&#xff0c;其实就是在一个已经训练过的模型上&#xff0c;继续用新数据进行训练&#xff0c;帮助模型更好地理解和处理这个新的任务。可以把这个过程想象成教一个已经懂很多道理的人去解决新的问题。 这个过程可以分为五个简单的步骤&#xff1a; 加载预训练…

【目标检测】桥梁表面缺陷检测数据集6710张7类缺陷VOC+YOLO格式

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;6718 标注数量(xml文件个数)&#xff1a;6718 标注数量(txt文件个数)&#xff1a;6718 标注…

车载测试分享:CANoe工具使用、真实项目实操、UDS诊断测试、ECU刷写测试、物理层测试、数据链路层测试、应用层测试、HIL测试等

FOTA模块中OTA的知识点&#xff1a;1.测试过程中发现哪几类问题&#xff1f; 可能就是一个单键的ecu&#xff0c;比如升了一个门的ecu&#xff0c;他的升了之后就关不上&#xff0c;还有就是升级组合ecu的时候&#xff0c;c屏上不显示进度条。 2.在做ota测试的过程中&#xff…

知识链=知识图谱+大模型+推理-幻觉

最近由华东师大和香港大学联合提出了一种面向大语言模型推理的幻觉缓解方法Chain-of-Knowledge被ACL2024接收为长文主会。 PDF: https://arxiv.org/pdf/2306.06427 最近这两年&#xff0c;诸如GPT-4、LLaMA3等一系列超百亿规模的大语言模型相继提出&#xff0c;这些大模型以其…

AI少女/HS2甜心选择2 仿逆水寒人物卡全合集打包

内含AI少女/甜心选择2 仿逆水寒角色卡全合集打包共6张 内含&#xff1a;白灵雪魅落霞飞雁君临华歌白君临华歌黑平野星罗晚香幽韵 下载地址&#xff1a; https://www.51888w.com/436.html 部分演示图&#xff1a;

P10185 [YDOI R1] Necklace

[YDOI R1] Necklace - 洛谷 因为是方案数求和 我们考虑计算每种珠子单独贡献的方案数有 因为有二项式定理 构造 因为n不取0&#xff0c;便有 时间复杂度 modint qmi code #include <bits/stdc.h>#define INF (1ll<<60) #define eps 1e-6 using namespace std; …

Hive数仓操作(十七)

一、Hive的存储 一、Hive 四种存储格式 在 Hive 中&#xff0c;支持四种主要的数据存储格式&#xff0c;每种格式有其特点和适用场景&#xff0c;不过一般只会使用Text 和 ORC &#xff1a; 1. Text 说明&#xff1a;Hive 的默认存储格式。存储方式&#xff1a;行存储。优点…

Leetcode—763. 划分字母区间【中等】

2024每日刷题&#xff08;175&#xff09; Leetcode—763. 划分字母区间 C实现代码 class Solution { public:vector<int> partitionLabels(string s) {int rightmost[26];int l 0;int r 0;for(int i 0; i < s.length(); i) {rightmost[s[i] - a] i;}vector<…