Skip to content

Commit 4844f88

Browse files
author
minjk-bl
committed
Edit DataInfo to show simple value_counts code for single column
1 parent e93adcf commit 4844f88

File tree

1 file changed

+26
-11
lines changed

1 file changed

+26
-11
lines changed

visualpython/js/m_apps/Information.js

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ define([
104104
\n _dfr = pd.concat([_dfr, pd.DataFrame({(col,'category'): _value_counts.index})], axis=1)\
105105
\n _dfr = pd.concat([_dfr, pd.DataFrame({(col,'count'): _value_counts.values})], axis=1)\
106106
\n_dfr.replace(np.nan,'')",
107+
code2: "${data}.value_counts()",
107108
dtype: ['DataFrame', 'Series'], toframe: true },
108109
]
109110
},
@@ -429,6 +430,7 @@ define([
429430
this.state.selected = [];
430431
this.state.selection = { start: -1, end: -1 };
431432
this.renderMenu();
433+
$(this.wrapSelector('.' + VP_FE_TABLE)).html('');
432434
this.loadCode(data);
433435
this.loadInfo(data, this.state.menu);
434436
}
@@ -534,6 +536,10 @@ define([
534536
}
535537

536538
generateCode() {
539+
return this.tempCode;
540+
}
541+
542+
generateCodeForInfo() {
537543
let { data, dtype, menu, menuItem } = this.state;
538544

539545
var selected = [];
@@ -600,18 +606,26 @@ define([
600606
// only one method selected
601607
if (menuItem.length > 0 && infoObj.child) {
602608
let childObj = infoObj.child.find(obj=>obj.id === menuItem[0]);
603-
if (childObj.toframe === true) {
604-
if (dtype === 'Series') {
605-
dataVar = new com_String();
606-
dataVar.appendFormat("{0}.to_frame()", data);
607-
currentDtype = 'DataFrame';
608-
} else if (currentDtype === 'Series') {
609-
dataVar = new com_String();
610-
dataVar.appendFormat("{0}[[{1}]]", data, selected.map(col=>col.code).join(','));
611-
currentDtype = 'DataFrame';
609+
if (menuItem[0] === 'value_counts') {
610+
if (currentDtype === 'Series') {
611+
codePattern = childObj.code2;
612+
} else {
613+
codePattern = childObj.code;
614+
}
615+
} else {
616+
if (childObj.toframe === true) {
617+
if (dtype === 'Series') {
618+
dataVar = new com_String();
619+
dataVar.appendFormat("{0}.to_frame()", data);
620+
currentDtype = 'DataFrame';
621+
} else if (currentDtype === 'Series') { // DataFrame with single column selected
622+
dataVar = new com_String();
623+
dataVar.appendFormat("{0}[[{1}]]", data, selected.map(col=>col.code).join(','));
624+
currentDtype = 'DataFrame';
625+
}
612626
}
627+
codePattern = childObj.code;
613628
}
614-
codePattern = childObj.code;
615629
} else {
616630
codePattern = infoObj.code;
617631
}
@@ -841,7 +855,8 @@ define([
841855
// load preview content
842856
let $infoPreviewTag = $(this.wrapSelector('#informationPreview'));
843857
$infoPreviewTag.html('');
844-
let code = this.generateCode();
858+
let code = this.generateCodeForInfo();
859+
this.tempCode = code;
845860

846861
// use default pandas option
847862
// let defaultPOCode = new com_String();

0 commit comments

Comments
 (0)