我正在尝试使用data-forge
来连接两个数据框,但是我得到了一个空的合并数据框:
const a = new DataFrame([{ A: 10, b: 1 }, { A: 20, b: 2 }, { A: 30, b: 3 }]);
const b = new DataFrame([{ A: 10, c:11 }, { A: 20, c:22 }, { A: 30, c:33 }]);
const ab = a.join(
b,
left => left.A,
right => right.A,
(left, right) => {
return { A: left.A, b: left.b, c: right.c };
}
);
// {content: null}
答案 0 :(得分:1)
我相信您的加入符合预期。我怀疑您获得{content: null}
的原因是您console.log
正在ab
,但是由于data-forge
的懒惰评估,它无法解决内容。如果您使用.toString()
方法,它会强制完成惰性评估。试试这个:
const a = new dataForge.DataFrame([
{ A: 10, b: 1 },
{ A: 20, b: 2 },
{ A: 30, b: 3 },
]);
const b = new dataForge.DataFrame([
{ A: 10, c: 11 },
{ A: 20, c: 22 },
{ A: 30, c: 33 },
]);
const ab = a.join(
b,
(left) => left.A,
(right) => right.A,
(left, right) => {
return { A: left.A, b: left.b, c: right.c };
},
);
console.log(ab);
// DataFrame { configFn: [Function], content: null }
console.log(ab.toString());
// __index__ A b c
// --------- -- - --
// 0 10 1 11
// 1 20 2 22
// 2 30 3 33