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

能否在DataFramesMeta宏中访问行索引?含代码场景的技术问询

DataFramesMeta宏中行索引访问问题解答

问题一:能否在DataFramesMeta宏内部访问行索引?

可以,但无法直接通过原生行索引的形式访问,需通过两种常用方式实现:

  • 提前将行索引转换为DataFrame的普通列:比如执行df[!, :row_idx] = axes(df, 1),之后在@with宏内直接用:row_idx调用索引值。
  • 使用@transform等宏配合索引方法:无需额外列,直接在宏内通过eachindex(:列名)的形式获取对应行的索引。

问题二:能否在给定代码片段中访问current_row_index?

你提供的代码里current_row_index属于自定义变量,@with宏默认不识别,直接运行会报错。要实现类似逻辑,可参考两种修改方案:

方案一:添加索引列后调用

# 先为DataFrame新增行索引列
df[!, :current_row_index] = axes(df, 1)

@with df begin
    fn.(:col, :current_row_index)
end

方案二:用@transform直接关联索引

@transform(df, :result_col = fn.(:col, eachindex(:col)))

如果需要逐行处理并获取索引,也可以用enumerate(eachrow(df))配合循环,但上述两种方式更贴合DataFramesMeta的使用风格。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 08:25:39