迭代 Polars Rust 行

2023-11-27

我正在尝试迭代 Polars rust 数据帧的每一行。

在这次努力中,我发现df.get但文档说这很慢。然后我尝试过df.column("col").get但这似乎也带来了类似的问题。

处理数据帧每一行的正确方法是什么?我需要将其上传到数据库并将其转换为结构。


如果您激活rows极地功能,您可以尝试:

DataFrame::get_row and DataFrame::get_row_amortized.

后者是首选,因为它通过重用行缓冲区来减少堆分配。

反模式

这会很慢。从列式数据存储请求行将导致许多缓存未命中,并且会经过多个间接层。

稍微好一些

稍微好一点的是使用 Rust 迭代器。这将比get_row方法。

df.as_single_chunk_par();
let mut iters = df.columns(["foo", "bar", "ham"])?
    .iter().map(|s| s.iter()).collect::<Vec<_>>();

for row in 0..df.height() {
    for iter in &mut iters {
        let value = iter.next().expect("should have as many iterations as rows");
        // process value
    }
}

If your DataFrame由单一数据类型组成,您应该向下转换Series to a ChunkedArray,这将加快迭代速度。

在下面的代码片段中,我们假设数据类型是Float64.

let mut iters = df.columns(["foo", "bar", "ham"])?
    .iter().map(|s| Ok(s.f64()?.into_iter())).collect::<Result<Vec<_>>>()?;

for row in 0..df.height() {
    for iter in &mut iters {
        let value = iter.next().expect("should have as many iterations as rows");
        // process value
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

迭代 Polars Rust 行 的相关文章

随机推荐

  • 如何使用 sqlite 创建 ASP.NET Web 应用程序 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我想使用sqlite在as
  • 整数矩阵的精确整数零空间?

    nullspace A 找到矩阵零空间的基A 返回的向量具有浮点坐标 如果矩阵A是一个整数矩阵 可以在整数坐标中找到基础 例如 在数学 NullSpace RandomInteger 10 10 3 4 始终返回整数向量 有没有办法在 Ju
  • 如何从 C 运行外部程序并解析其输出?

    我有一个实用程序 可以输出游戏所需的文件列表 如何在 C 程序中运行该实用程序并获取其输出 以便我可以在同一程序中对其进行操作 更新 关于缺乏信息的好呼吁 该实用程序会输出一系列字符串 这应该可以跨 Mac Windows Linux 移植
  • 适用于 .NET 的 HTML 到 PDF 转换器 [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我正在寻找一个适用于 NET 的免费 HTML 到 PDF 转换器它最好采用 HTML 页面并将其呈现为 PDF 文档 HTML 页面 打印时 将通常不止一页 我知道 ABCPDF
  • 两个日期之间的天数? [复制]

    这个问题在这里已经有答案了 查看两个日期之间过去了多少天的最短方法是什么 这就是我现在正在做的事情 math floor b a total seconds float 86400 假设您实际上有两个日期对象 您可以从另一个中减去一个并查询
  • 查询与 activerecord 的交集

    我真的很想在活动记录的帮助下执行以下查询 select from people p join cities c join services s where p city id c id and p id s person id and s
  • rql 从 javascript 中的键 rethinkdb 列表中获取多个文档

    我有一个 人 数据表 它有一个唯一的键 id 我有一个 id 列表 我想获取这些数据 并将其作为 JSON 数组从客户端发送到服务器 服务器以 JSON 数组的形式接收该数据 现在有没有一种方法可以运行查询来获取每个 id 的文档 或者是我
  • DOM:获取文档中的所有文本节点(PHP)

    我有以下 PHP 代码 它遍历整个 DOM 文档以获取所有文本节点 这是一个有点丑陋的解决方案 我确信一定有更好的方法 那么 有吗 skip false node document nodes array while node if nod
  • 在内存耗尽之前,GC 不应该在 Xamarin.Android 中自动运行吗?

    我花了几乎一整天的时间试图找出 Android 内存泄漏的原因 有一个活动我打开 关闭很多次 使用计时器 一段时间后 我收到了 OutOfMemory 错误 每次活动打开时 我都会在 Xamarin Profiler 中看到内存不断增加 我
  • 为什么我们应该使用 Exception 作为超类,为什么不使用 BaseException

    在Python中 每当我们编写用户定义的异常时 我们都必须从类扩展它Exception 我的问题是为什么我们不能把它从BaseException这是异常层次结构的超类 Exception也是以下子类BaseException BaseExc
  • RestTemplate + 杰克逊

    我想使用Spring的RestTemplate加上Jackson来消费WebService 我遵循了几个教程 现在已经到了创建 DAO 的阶段 这是我获取所有域对象的方法 Create a Rest template RestTemplat
  • 在 $_GET 变量中添加空格有什么问题

    例如 如果我的网址看起来像index php category IT 20 20Soft 然后我尝试打印 GET category 我只得到 IT 而不是 IT Soft 这里有什么问题吗 这让我很沮丧 问题不在于空格 而在于 符号 Use
  • 类是否在 lambda 表达式中实例化? [复制]

    这个问题在这里已经有答案了 我有以下方法调用 其中传递了 lambda 表达式 这里是否隐式实例化了一个类 printStudents roster Student s gt s getGender Student Sex MALE s g
  • jdbc.SQLServerException:任何用户的用户登录失败

    我试图测试与本地 sql 数据库的连接 我有这个代码 try Class forName com microsoft sqlserver jdbc SQLServerDriver newInstance DriverManager getC
  • 加载 Dicom 图像并显示它 - 使用 ClearCanvas 库

    这是一个非常狭窄和具体的问题 但我知道还有其他人在使用这个问题 所以我会祈祷并希望你们中的任何人都能提出这个问题 我正在开发一个 WPF 应用程序 其中一部分是 Dicom 查看器 我们希望使用第 3 方组件来处理 Dicom 内容 而 C
  • 如何水平居中未知宽度的无序列表?

    页脚中通常有一组以列表形式表示的链接 例如 div ul li a href Home a li li a href About a li li a href Contact a li ul div 我希望 div footer 内的所有内
  • 自定义 NewtonSoft.Json 以进行值对象序列化[重复]

    这个问题在这里已经有答案了 有时 也许在 DDD 情况下 您可能希望使用 C 创建值对象来表示数据 以便为您的领域赋予比使用基本类型更多的含义 并具有不可变的额外好处 例如 public class PostalCode Bit like
  • Google 电子表格脚本将 A 列中包含“Hello”的单元格与 B 列中的相邻单元格合并

    我正在尝试将 A 列中包含某个单词的单元格 例如 Hello 与紧邻右侧的单元格 B 列中 合并 E g A4 Hello 因此我想合并单元格 A4 和 B4 到目前为止我有这个代码 function formatCells var ss
  • 在闭包中,什么触发捕获变量的新实例?

    我正在读乔恩 斯基特的书C 深入探讨 在第 156 页 他有一个示例 清单 5 13 使用多个委托捕获多个变量实例 List
  • 迭代 Polars Rust 行

    我正在尝试迭代 Polars rust 数据帧的每一行 在这次努力中 我发现df get但文档说这很慢 然后我尝试过df column col get但这似乎也带来了类似的问题 处理数据帧每一行的正确方法是什么 我需要将其上传到数据库并将其