Skip to content

Commit 198b63c

Browse files
committed
fix prefix error in get_dummies
1 parent 9fdf4cd commit 198b63c

9 files changed

Lines changed: 174 additions & 3297 deletions

File tree

.gitignore

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,4 @@ node_modules
33
coverage
44
.nyc_output
55
dist
6-
danfojs/data
7-
test.html
6+
danfojs/data

danfojs/src/core/concat.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ export class Concat {
2121

2222
df_list = kwargs["df_list"];
2323
} else {
24-
throw new Error("df_list must be an Array of dataFrames");
24+
throw new Error("df_list must be an Array of dataFrames/Series");
2525
}
2626

2727
//check if axis is int and is either 0 or 1
@@ -31,7 +31,8 @@ export class Concat {
3131

3232
axis = kwargs["axis"];
3333
} else {
34-
throw new Error("Invalid axis: axis must be 0 or 1")
34+
axis = 1
35+
// throw new Error("Invalid axis: axis must be 0 or 1")
3536
}
3637

3738
} else {
@@ -176,6 +177,7 @@ export class Concat {
176177
return df;
177178

178179
}
180+
179181
}
180182
}
181183

danfojs/src/core/get_dummies.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,12 @@ function oneHot(in_data, prefix, prefix_sep){
1212
prefix_labels = labels.map((x)=>{
1313
return prefix + prefix_sep + x
1414
})
15+
}else{
16+
prefix_labels = labels.map((x,i)=>{
17+
return x+ prefix_sep + i
18+
})
1519
}
20+
1621
let onehot_data = utils.__zeros(in_data.length, labels.length)
1722

1823
for(let i=0; i < in_data.length; i++){
@@ -38,7 +43,7 @@ function get_dummy(kwargs={}){
3843
utils.__in_object(kwargs,"data", "data not provided")
3944

4045
let prefix = kwargs["prefix"] || null
41-
let prefix_sep = kwargs["prefix_sep"] || "_"
46+
let prefix_sep = kwargs["prefix_sep"] || ["_"]
4247
let columns = kwargs["columns"] || null
4348

4449
let is_dataframe = false
@@ -56,8 +61,8 @@ function get_dummy(kwargs={}){
5661
}
5762

5863
if(!is_dataframe){
59-
6064
let [onehot_data, prefix_labels] = oneHot(in_data, prefix, prefix_sep)
65+
6166
return new DataFrame(onehot_data,{columns: prefix_labels})
6267
}
6368
else{

danfojs/src/core/merge.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,18 @@ export class Merge {
1010
utils.__in_object(kwargs, "left")
1111
utils.__in_object(kwargs, "right")
1212
utils.__in_object(kwargs, "on")
13-
utils.__in_object(kwargs, "how")
13+
// utils.__in_object(kwargs, "how")
14+
if(!utils.__key_in_object(kwargs, "how")){
15+
this.how = 'inner'
16+
kwargs['how'] = 'inner'
17+
}else{
18+
this.how = kwargs['how']
19+
}
1420

1521
this.left = null;
1622
this.right = null;
1723
this.on = null;
18-
this.how = null;
24+
// this.how = null;
1925

2026
let how_keys = ["outer", "inner", "left", "right"]
2127

danfojs/src/index.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,5 @@ export {merge} from './core/merge'
88
export {concat} from './core/concat'
99
export {LabelEncoder, OneHotEncoder} from './preprocessing/encodings' //TODO Create js file to expose functions
1010
export {RobustScaler, MinMaxScaler, StandardScaler} from './preprocessing/scalers'
11-
export {date_range} from './core/date_range'
11+
export {date_range} from './core/date_range'
12+
export {get_dummies} from './core/get_dummies'

danfojs/tests/core/get_dummies.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ describe("get_dummies", function(){
99

1010
let data = ["dog","male","female","male","female","male","dog"]
1111

12-
let df = get_dummies({data:data,prefix:"test",prefix_sep:"/"})
12+
let df = get_dummies({data:data})
1313

1414
let df_values = [
1515
[ 1, 0, 0 ],
@@ -20,7 +20,7 @@ describe("get_dummies", function(){
2020
[ 0, 1, 0 ],
2121
[ 1, 0, 0 ]
2222
]
23-
let df_columns = [ 'test/dog', 'test/male', 'test/female' ]
23+
let df_columns = [ 'dog_0', 'male_1', 'female_2' ]
2424

2525
assert.deepEqual(df.values, df_values)
2626
assert.deepEqual(df.columns, df_columns)

0 commit comments

Comments
 (0)