Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including spm-dataframe with all npm packages installed. Try it out:

var spmDataframe = require("spm-dataframe")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

spm-dataframe v1.0.21

data frame for statistics

dataframe spm version


$ spm install dataframe --save


var Frame = require('dataframe');

var data = [ 
// 创建 frame
var f = new Frame(data);

// use dataframe



isFrame Boolean

  • 是否是数据集合

arr Array

  • 数据集合的列数组,每列是一个子数组

names Array

  • 列名称


colNames() Array

  • 返回 names

colCount() Number

  • 数据集合列的个数

colIndex(name) Number

  • 根据列名称获取对应的索引

colArray(name) Array

  • 根据列名称、索引获取列对应的数组

colReplace(name,arr) chainable

  • 替换数据集合中的列数组
  • name 可以是列名称也可以是索引
  • 返回数据集合本身,数据集合发生改变

rowCount() Number

  • 数据集合行的个数

rowObject(index) Object

  • 根据索引获取行对象

cell(rowIndex,colName) *

  • 返回指定行索引和列名称(列索引)的数值

toArray() Array

  • 将数据集合生成列数组

toJSON() Array

  • 将数据集合生成JSON 数组

s() String

  • 将整个数据集合生成字符串,一般用于调试输出现有集合


col(name) Frame

  • 根据列名称或者索引生成新的数据集合

cols(names) Frame

  • 根据多个列名称或者索引生成新的数据集合

row(rowInde) Frame

  • 根据行索引生成新的数据集合

rows(rowIndexs) Frame

  • 根据多个行索引生成新的数据集合

sub(startCol,endCol,startRow,endRow) Frame

  • 根据行和列获取一个子集合


mean(frame,x) Number

  • 计算列x的平局值

geometric_mean(frame,x) Number

  • 计算列x的列的几何均值

sum(frame,x) Number

  • 计算列x的和

max(frame,x) Number

  • 计算列x的最大值

min(frame,x) Number

  • 计算列x的最小值

range(frame,x) Array

  • 计算列x的最小值和最大值

model(frame,x) Number

  • 计算列x的众数,最多的数

median(frame,x) Number

  • 计算列x的中位数

variance(frame,x) Number

  • 计算列x的方差

standard_deviation(frame,x) Number

  • 计算列x的标准方差

sort(frame,x) Frame

  • 返回按照列排序后的数据集合

group(frame,condition) Array

  • 按照条件进行分组,返回 [frame1,frame2...framen]
  • condition条件可以是列名的数组也可以是一个函数返回一个唯一的键值

groupToMap(frame,condition) Array

  • 按照条件进行分组,形成map,键值对,返回 {key1: frame1,key2: frame2,key3: frame3....keyn:framen}
  • condition条件可以是列名的数组也可以是一个函数返回一个唯一的键值

complement(frame,cols) Frame

  • 取指定列的补集组成的数据集合,例如 names: ['a','b','c','d'], Frame.complement(frame,['a','c']),生成的names : ['b','d']的数据集合

merge(frame1,frame2...framen) Frame

  • 合并传入的集合成为一个集合,列不发生变化,假设传入的集合的列一致,仅是增加行

combin(frame1,frame2...framen) Frame

  • 合并传入的集合成为一个集合,列进行组合,行的数目不变,仅仅是列变化
RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free