dfjs

0.0.1 • Public • Published

DFJS

Installation

npm install -D dfjs

Usage

import DataFrame from 'dfjs';

var df = new DataFrame({
  "meta": {
    "columns": ["transaction_count", "sale"],
    "keys": ["ymd", "h", "m", "s", "currency"]
  },
  "rows": [
    [[20160101, 0, 0, 0, "KRW"], [1500, 7500000]],
    [[20160101, 4, 0, 0, "KRW"], [200, 600000]],
    [[20160101, 12, 0, 0, "KRW"], [500, 2000000]],
    [[20160101, 18, 0, 0, "KRW"], [700, 2800000]],
    [[20160101, 22, 0, 0, "KRW"], [1200, 5400000]],
    [[20160102, 0, 0, 0, "KRW"], [1550, 7595000]],
    [[20160102, 4, 0, 0, "KRW"], [180, 540000]],
    [[20160102, 12, 0, 0, "KRW"], [450, 1350000]],
    [[20160102, 18, 0, 0, "KRW"], [800, 3600000]],
    [[20160102, 22, 0, 0, "KRW"], [1100, 6600000]],
    [[20160103, 0, 0, 0, "KRW"], [1400, 8400000]],
    [[20160103, 4, 0, 0, "KRW"], [250, 1375000]],
    [[20160103, 12, 0, 0, "KRW"], [550, 3025000]],
    [[20160103, 18, 0, 0, "KRW"], [700, 3850000]],
    [[20160103, 22, 0, 0, "KRW"], [1300, 7150000]],
    [[20160101, 0, 0, 0, "JPY"], [1500, 7500000]],
    [[20160101, 4, 0, 0, "JPY"], [200, 600000]],
    [[20160101, 12, 0, 0, "JPY"], [500, 2000000]],
    [[20160101, 18, 0, 0, "JPY"], [700, 2800000]],
    [[20160101, 22, 0, 0, "JPY"], [1200, 5400000]],
    [[20160102, 0, 0, 0, "JPY"], [1550, 7595000]],
    [[20160102, 4, 0, 0, "JPY"], [180, 540000]],
    [[20160102, 12, 0, 0, "JPY"], [450, 1350000]],
    [[20160102, 18, 0, 0, "JPY"], [800, 3600000]],
    [[20160102, 22, 0, 0, "JPY"], [1100, 6600000]],
    [[20160103, 0, 0, 0, "JPY"], [1400, 8400000]],
    [[20160103, 4, 0, 0, "JPY"], [250, 1375000]],
    [[20160103, 12, 0, 0, "JPY"], [550, 3025000]],
    [[20160103, 18, 0, 0, "JPY"], [700, 3850000]],
    [[20160103, 22, 0, 0, "JPY"], [1300, 7150000]]
  ]
});


var df2 = new DataFrame({
  "meta": {
    "columns": ["new_user_count"],
    "keys": ["ymd"]
  },
  "rows": [
    [[20160101], [500]],
    [[20160103], [200]],
    [[20160104], [170]]
  ]
});

var child1 = df.groupByKey(df.keys('ymd', 'currency'),
    df.col('transaction_count').sum().rename('transaction_count'),
    df.col('sale').sum(),
    df.col('sale').max(),
    df.col('sale').min());


var child2 = df.groupByKey(
        df.keys('ymd'),
        df.col('transaction_count').sum(),
        df.col('sale').sum()).merge(df2).sort();

> child1.meta
Map {
    "keys": List [ "ymd", "currency" ],
    "columns": List [ "transaction_count", "sum(sale)", "max(sale)", "min(sale)" ]
}

> child2.meta
Map { "keys": List [ "ymd" ], "columns": List [ "$1.sum(transaction_count)", "$1.sum(sale)", "$2.new_user_count" ] }

> child2.rows.forEach((e) => console.log(e));
[ [ 20160101 ], [ 8200, 36600000, 500 ] ]
[ [ 20160102 ], [ 8160, 39370000,  ] ]
[ [ 20160103 ], [ 8400, 47600000, 200 ] ]
[ [ 20160104 ], [ , , 170 ] ]

/dfjs/

    Package Sidebar

    Install

    npm i dfjs

    Weekly Downloads

    0

    Version

    0.0.1

    License

    MIT

    Last publish

    Collaborators

    • dgkim84