microsoft / vscode-data-wrangler

Other
413 stars 16 forks source link

column width not optimized #227

Open war-live opened 1 month ago

war-live commented 1 month ago

Type: Bug

Behaviour

Expected vs. Actual

View a python pandas Dataframe in a VS code tab. The Dataframe columns are quite wide reducing the visible data without scrolling. A 7 column Dataframe does not fit on a 1/3 width tab, especially when data insights is active. If data insights is not shown the columns stay wide with lots of space.
Each column needs manual resizing, then the above data frame can easily fit in the same width as before. The column header could also be reduced to optimise space, the # removed and ellipsis displayed under the header. I find the most important aspect of a data-viewer is to be able to view as many columns as possible without scrolling left and right, adding more space/information vertically is better than horizontal. Even as far as wrapping header text or reducing font size. The data insights look like they will be handy, but the core is to just fit as much data on a page width as possible.

Steps to reproduce:

  1. python 3.10

    import numpy as np import pandas as pd rawdata = [{'column1' : 15,'column2' : 25/3,'col3' : 200np.pi,'col4' : 523,'column5' : 2/3,'column6':1/(np.pi10),'column7':56}] df = pd.DataFrame(data=rawdata)

Diagnostic data

{
  "installed": {
    "pandas": "1.5.2"
  },
  "required": {
    "pandas": "0.25.2"
  },
  "unsatisfied": []
}

Extension version: 1.4.1 VS Code version: Code 1.91.0 (ea1445cc7016315d0f5728f8e8b12a45dc0a7286, 2024-07-01T18:52:22.949Z) OS version: Windows_NT x64 10.0.22631 Modes:

System Info |Item|Value| |---|---| |CPUs|13th Gen Intel(R) Core(TM) i7-13700K (24 x 3418)| |GPU Status|2d_canvas: enabled
canvas_oop_rasterization: enabled_on
direct_rendering_display_compositor: disabled_off_ok
gpu_compositing: enabled
multiple_raster_threads: enabled_on
opengl: enabled_on
rasterization: enabled
raw_draw: disabled_off_ok
skia_graphite: disabled_off
video_decode: enabled
video_encode: enabled
vulkan: disabled_off
webgl: enabled
webgl2: enabled
webgpu: enabled| |Load (avg)|undefined| |Memory (System)|31.75GB (21.78GB free)| |Process Argv|--crash-reporter-id 25e1c21b-88c4-484b-973e-2ab8a5be0e72| |Screen Reader|no| |VM|0%|
A/B Experiments ``` vsliv368cf:30146710 vspor879:30202332 vspor708:30202333 vspor363:30204092 vswsl492cf:30256860 vscoreces:30445986 vscod805cf:30301675 binariesv615:30325510 vsaa593cf:30376535 py29gd2263:31024239 vscaat:30438848 c4g48928:30535728 azure-dev_surveyone:30548225 2i9eh265:30646982 962ge761:30959799 9b8hh234:30694863 pythongtdpath:30769146 welcomedialog:30910333 pythonnoceb:30805159 asynctok:30898717 pythonregdiag2:30936856 pythonmypyd1:30879173 h48ei257:31000450 pythontbext0:30879054 accentitlementsc:30995553 dsvsc016:30899300 dsvsc017:30899301 dsvsc018:30899302 cppperfnew:31000557 dsvsc020:30976470 pythonait:31006305 jchc7451:31067544 chatpanelc:31048052 dsvsc021:30996838 0ee40948:31013168 pythoncenvpt:31062603 a69g1124:31058053 dvdeprecation:31068756 dwnewjupyter:31046869 impr_priority:31082723 ```
war-live commented 1 month ago

Screen shots of viewer column width and extra space as opened the first time: dataview first no data view - lots of empty space dataview no insights lots of empty space then picture of columns manually adjusted, but still lots of empty space dataview no insights manually adjusted but still lots of empty space

AmrSol commented 1 month ago

Yes I agree. I think there should be a "simple" view setting where the table is as tight as possible (i.e. max number of characters for the column name and max decimal points before trailing ellipsis (or significant figures if the value starts with a 0, i.e. 0.0023488) and without the statistics for quick inspection of the dataframe.

Also, tbh, since VSCode's dataviewer will be depreciated, many of us were used to quickly clicking on the column name and sorting the column alphabetically or numerically. I think that was a powerful feature. DW has too many clicks to achieve the same result. Also the VSC's dataviewer text box for quick filtering was very powerful. (Maybe this should be a separate issue?)

pwang347 commented 1 month ago

@AmrSol Yes, it would be appreciated if you could create separate issues for those for our team to triage separately and to keep the discussions more focused. Thanks!