You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Polars中与Pandas .iloc方法等效的行选择方案是什么?

按行号选择Polars DataFrame单行的简洁方法

问题描述

我正在寻找按行号选择Polars.DataFrame单行的推荐方法,该方法需与Pandas.DataFrame的.iloc[[n]]方法(n为给定整数)大致等效。

当Polars导入为pl,且有Polars DataFrame df时,我目前的实现方式如下:

# 示例
n = 3

# 创建行索引,筛选指定行,删除行索引
new_df = (
    df.with_row_index()
    .filter(pl.col('index') == n)
    .select(pl.exclude('index'))
)

我正在从Pandas迁移到Polars,已阅读Pandas转Polars的迁移指南,但该指南未提及此特定场景的简洁解决方案。补充说明:我需要返回Polars.DataFrame对象的实现方法。

请问有没有更简洁的实现方式?

解决方案

Polars提供了两种更简洁的方式,无需手动处理行索引,且均返回Polars.DataFrame对象:

方法1:使用.slice()方法

通过slice指定起始行号和要选取的行数(单行设为1),直接获取目标行:

n = 3
new_df = df.slice(n, 1)

方法2:使用.iloc属性(Polars v0.19.0及以上版本支持)

Polars在新版本中适配了Pandas风格的.iloc索引,传入列表形式的行号即可得到DataFrame:

n = 3
new_df = df.iloc[[n]]

这两种方法都能完美替代你当前的实现,操作更直接高效。


内容的提问来源于stack exchange,提问作者montol

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 17:22:01