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

Swift中如何访问TabularData DataFrame切片指定索引的值?

解决Swift TabularData中DataFrame切片的行列访问问题

正确访问方式

针对你过滤得到的DataFrame.Slice类型的new,要获取第0行第4列的值,推荐两种可行方法:

方法1:按列位置取列后访问行元素

if let latitudeValue = new.column(at: 4)[0] as? Double {
    print(latitudeValue)
}

column(at: 4)按索引定位到你定义的latitude列(从0开始计数),下标[0]取该列的第0行元素,最后转成对应类型(你定义的是Double)即可。

方法2:先取行对象再按列索引取值

if let row = new.rows.first, let latitudeValue = row.value(atColumnIndex: 4) as? Double {
    print(latitudeValue)
}

new.rows.first获取过滤结果的第0行(因为你的过滤条件只会返回一行),value(atColumnIndex: 4)直接按列位置提取对应值。


你之前方法报错的原因

  1. new.subscript(r: 0, c: 4):subscript是下标语法,不能作为函数调用,正确的下标用法应为new[0, columnAt: 4](需确保行索引为整数类型,或先将切片转为DataFrame)。
  2. new.index(0, 4):index方法用于获取索引对象,不是直接读取元素的方法。
  3. new(row: 0, column: 4):DataFrame及其切片没有这种形式的调用语法,属于用法错误。
  4. new[0][4]:第一个下标[0]返回整行数据,而行元素的访问需要传入列名(字符串类型),用整数4会触发类型不匹配错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 23:45:41