我有一个数据框,其中包含一个销售KPI的csv(数量,商品编号和相应的日期) 我需要将数据框拆分为多个数据框,每个数据框都包含一个文章编号的数据(例如frame1 = 123,frame2 = 345,依此类推。 )
我如何才能像这样动态拆分以便在sklearns kmean中进一步使用? (匹配不同的商品编号及其销售KPI) 非常感谢
答案 0 :(得分:0)
您可以使用const obj = {
number1: {
1: '10',
2: '10',
3: '5',
4: '20',
},
sumtype: {
1: '+',
2: '-',
3: 'x',
4: ':',
},
number2: {
1: '10',
2: '5',
3: '2',
4: '2',
},
};
function makeOp(n1, op, n2) {
return ({
'+': () => n1 + n2,
'-': () => n1 - n2,
'x': () => n1 * n2,
':': () => n1 / n2,
}[op])();
}
const res = Object.keys(obj.number1).reduce((tmp, x) => ({
...tmp,
[x]: makeOp(Number(obj.number1[x]), obj.sumtype[x], Number(obj.number2[x])),
}), {});
console.log(res);
按商品编号分组。
groupBy
然后您可以使用来访问各个组
grouped = df.groupby(['article_number'])
或直接应用grouped.groups
之类的聚合函数以获取具有每个组各自值的新帧。
另请参阅User Guide。