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

如何在dataframe-js中获取DataFrame列值为数组?附示例

解决方案

针对你用dataframe-js创建的这个DataFrame,咱们可以用框架自带的API轻松实现需求:

获取单个列(column1)的数组

你可以先通过getColumn()方法拿到指定列的Series对象,再调用toArray()把它转成普通数组:

const column1Array = df.getColumn('column1').toArray();
console.log(column1Array); // 输出: [3, 6, 8]

嫌麻烦的话,用更简洁的get()方法替代getColumn()也完全没问题,效果是一样的:

const column1Array = df.get('column1').toArray();

获取所有列的数组集合

如果想一次性拿到所有列对应的数组,有两种实用方式:

方式1:用toObject()一步到位

dataframe-js的toObject()方法会直接返回一个键值对对象——键是列名,值就是对应列的数组,省心又高效:

const allColumnsArray = df.toObject();
console.log(allColumnsArray);
// 输出: { column1: [3, 6, 8], column2: [3, 4, 5, 6] }

方式2:手动遍历列名自定义处理

要是你需要更灵活的操作(比如只提取部分列),可以先获取所有列名,再逐个转换为数组:

const columnNames = df.listColumns(); // 获取列名数组: ['column1', 'column2']
const allColumnsArray = columnNames.reduce((acc, colName) => {
  acc[colName] = df.get(colName).toArray();
  return acc;
}, {});

这样就能完美满足你的两个需求啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 07:52:49