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 ] ]

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 0.0.1
    0
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 0.0.1
    0

Package Sidebar

Install

npm i dfjs

Weekly Downloads

0

Version

0.0.1

License

MIT

Last publish

Collaborators

  • dgkim84