Skip to content

Commit 63b46e8

Browse files
committed
refactor: remove duplication
1 parent acb651f commit 63b46e8

1 file changed

Lines changed: 9 additions & 23 deletions

File tree

src/danfojs-base/core/frame.ts

Lines changed: 9 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1379,29 +1379,12 @@ export default class DataFrame extends NDframe implements DataFrameInterface {
13791379
return this;
13801380
}
13811381

1382-
if (typeof other === "number" && axis === 1) {
1383-
const originalTensor = this.tensor.clone();
1384-
const unit = new Array(originalTensor.shape[originalTensor.rank - 1]).fill(NaN);
1385-
let diffArray: any[] = originalTensor.arraySync();
1386-
if (other > 0) {
1387-
for (let i = 0; i < other; i++) {
1388-
diffArray.unshift(unit);
1389-
diffArray.pop();
1390-
}
1391-
}
1392-
else if (other < 0) {
1393-
for (let i = 0; i > other; i--) {
1394-
diffArray.push(unit);
1395-
diffArray.shift();
1396-
}
1382+
if (typeof other === "number") {
1383+
let origDF = this.copy() as DataFrame;
1384+
if (axis === 0) {
1385+
origDF = origDF.T;
13971386
}
1398-
const diffTensor = tensorflow.tensor2d(diffArray, originalTensor.shape);
1399-
return this.$MathOps([originalTensor, diffTensor], "sub", inplace);
1400-
}
1401-
1402-
if (typeof other === "number" && axis === 0) {
1403-
const origDF = this.copy() as DataFrame;
1404-
const originalTensor = origDF.T.tensor.clone();
1387+
const originalTensor = origDF.tensor.clone();
14051388
const unit = new Array(originalTensor.shape[originalTensor.rank - 1]).fill(NaN);
14061389
let diffArray: any[] = originalTensor.arraySync();
14071390
if (other > 0) {
@@ -1418,7 +1401,10 @@ export default class DataFrame extends NDframe implements DataFrameInterface {
14181401
}
14191402
const diffTensor = tensorflow.tensor2d(diffArray, originalTensor.shape);
14201403
const diffDF = this.$MathOps([originalTensor, diffTensor], "sub", inplace) as DataFrame;
1421-
return diffDF.T;
1404+
if (axis === 0) {
1405+
return diffDF.T;
1406+
}
1407+
return diffDF;
14221408
}
14231409

14241410
if (other instanceof DataFrame || other instanceof Series) {

0 commit comments

Comments
 (0)