@@ -104,6 +104,7 @@ define([
104
104
\n _dfr = pd.concat([_dfr, pd.DataFrame({(col,'category'): _value_counts.index})], axis=1)\
105
105
\n _dfr = pd.concat([_dfr, pd.DataFrame({(col,'count'): _value_counts.values})], axis=1)\
106
106
\n_dfr.replace(np.nan,'')" ,
107
+ code2 : "${data}.value_counts()" ,
107
108
dtype : [ 'DataFrame' , 'Series' ] , toframe : true } ,
108
109
]
109
110
} ,
@@ -429,6 +430,7 @@ define([
429
430
this . state . selected = [ ] ;
430
431
this . state . selection = { start : - 1 , end : - 1 } ;
431
432
this . renderMenu ( ) ;
433
+ $ ( this . wrapSelector ( '.' + VP_FE_TABLE ) ) . html ( '' ) ;
432
434
this . loadCode ( data ) ;
433
435
this . loadInfo ( data , this . state . menu ) ;
434
436
}
@@ -534,6 +536,10 @@ define([
534
536
}
535
537
536
538
generateCode ( ) {
539
+ return this . tempCode ;
540
+ }
541
+
542
+ generateCodeForInfo ( ) {
537
543
let { data, dtype, menu, menuItem } = this . state ;
538
544
539
545
var selected = [ ] ;
@@ -600,18 +606,26 @@ define([
600
606
// only one method selected
601
607
if ( menuItem . length > 0 && infoObj . child ) {
602
608
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
+ }
612
626
}
627
+ codePattern = childObj . code ;
613
628
}
614
- codePattern = childObj . code ;
615
629
} else {
616
630
codePattern = infoObj . code ;
617
631
}
@@ -841,7 +855,8 @@ define([
841
855
// load preview content
842
856
let $infoPreviewTag = $ ( this . wrapSelector ( '#informationPreview' ) ) ;
843
857
$infoPreviewTag . html ( '' ) ;
844
- let code = this . generateCode ( ) ;
858
+ let code = this . generateCodeForInfo ( ) ;
859
+ this . tempCode = code ;
845
860
846
861
// use default pandas option
847
862
// let defaultPOCode = new com_String();
0 commit comments