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

如何在Swift Tabular Data中用实例下标将DataFrame列转为数组

解决Swift Tabular Data中DataFrame列转数组的问题

你遇到的问题是因为直接通过下标elevationsDf["PLoss", Double.self]获取到的是Column<Double>实例,而非文档中提到的[T?]数组。要得到目标数组,需要访问Column的values属性,该属性会返回对应类型的可选值数组。

具体修改方案

  1. 获取可选值数组(保留原数据中的空值):
let plossArray: [Double?] = elevationsDf["PLoss", Double.self].values
print(type(of: plossArray)) // 输出 [Optional<Double>]
  1. 若确定列中无空值,可转换为非可选数组:
let nonOptionalPlossArray: [Double] = elevationsDf["PLoss", Double.self].values.compactMap { $0 }
print(type(of: nonOptionalPlossArray)) // 输出 [Double]

补充说明

Tabular Data框架中,DataFrame的列名下标返回的是Column类型对象,该对象封装了列的元数据和数据集合。values属性是Column提供的直接获取底层数据数组的入口,与你在文档中看到的返回数组的下标行为对应。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 14:51:02