Skip to content

Commit

Permalink
fix prefix error in get_dummies
Browse files Browse the repository at this point in the history
  • Loading branch information
risenW committed Aug 10, 2020
1 parent 9fdf4cd commit 198b63c
Show file tree
Hide file tree
Showing 9 changed files with 174 additions and 3,297 deletions.
3 changes: 1 addition & 2 deletions .gitignore
Expand Up @@ -3,5 +3,4 @@ node_modules
coverage
.nyc_output
dist
danfojs/data
test.html
danfojs/data
6 changes: 4 additions & 2 deletions danfojs/src/core/concat.js
Expand Up @@ -21,7 +21,7 @@ export class Concat {

df_list = kwargs["df_list"];
} else {
throw new Error("df_list must be an Array of dataFrames");
throw new Error("df_list must be an Array of dataFrames/Series");
}

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

axis = kwargs["axis"];
} else {
throw new Error("Invalid axis: axis must be 0 or 1")
axis = 1
// throw new Error("Invalid axis: axis must be 0 or 1")
}

} else {
Expand Down Expand Up @@ -176,6 +177,7 @@ export class Concat {
return df;

}

}
}

Expand Down
9 changes: 7 additions & 2 deletions danfojs/src/core/get_dummies.js
Expand Up @@ -12,7 +12,12 @@ function oneHot(in_data, prefix, prefix_sep){
prefix_labels = labels.map((x)=>{
return prefix + prefix_sep + x
})
}else{
prefix_labels = labels.map((x,i)=>{
return x+ prefix_sep + i
})
}

let onehot_data = utils.__zeros(in_data.length, labels.length)

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

let prefix = kwargs["prefix"] || null
let prefix_sep = kwargs["prefix_sep"] || "_"
let prefix_sep = kwargs["prefix_sep"] || ["_"]
let columns = kwargs["columns"] || null

let is_dataframe = false
Expand All @@ -56,8 +61,8 @@ function get_dummy(kwargs={}){
}

if(!is_dataframe){

let [onehot_data, prefix_labels] = oneHot(in_data, prefix, prefix_sep)

return new DataFrame(onehot_data,{columns: prefix_labels})
}
else{
Expand Down
10 changes: 8 additions & 2 deletions danfojs/src/core/merge.js
Expand Up @@ -10,12 +10,18 @@ export class Merge {
utils.__in_object(kwargs, "left")
utils.__in_object(kwargs, "right")
utils.__in_object(kwargs, "on")
utils.__in_object(kwargs, "how")
// utils.__in_object(kwargs, "how")
if(!utils.__key_in_object(kwargs, "how")){
this.how = 'inner'
kwargs['how'] = 'inner'
}else{
this.how = kwargs['how']
}

this.left = null;
this.right = null;
this.on = null;
this.how = null;
// this.how = null;

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

Expand Down
3 changes: 2 additions & 1 deletion danfojs/src/index.js
Expand Up @@ -8,4 +8,5 @@ export {merge} from './core/merge'
export {concat} from './core/concat'
export {LabelEncoder, OneHotEncoder} from './preprocessing/encodings' //TODO Create js file to expose functions
export {RobustScaler, MinMaxScaler, StandardScaler} from './preprocessing/scalers'
export {date_range} from './core/date_range'
export {date_range} from './core/date_range'
export {get_dummies} from './core/get_dummies'
4 changes: 2 additions & 2 deletions danfojs/tests/core/get_dummies.js
Expand Up @@ -9,7 +9,7 @@ describe("get_dummies", function(){

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

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

let df_values = [
[ 1, 0, 0 ],
Expand All @@ -20,7 +20,7 @@ describe("get_dummies", function(){
[ 0, 1, 0 ],
[ 1, 0, 0 ]
]
let df_columns = [ 'test/dog', 'test/male', 'test/female' ]
let df_columns = [ 'dog_0', 'male_1', 'female_2' ]

assert.deepEqual(df.values, df_values)
assert.deepEqual(df.columns, df_columns)
Expand Down

0 comments on commit 198b63c

Please sign in to comment.