Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extend Data view with "hide column" + "lock filter with selected charts" + "export csv" function #508

Open
wzherwa opened this issue Mar 30, 2024 · 6 comments
Labels
proposal Vote if you want it Only will be started when enough votes collected.

Comments

@wzherwa
Copy link

wzherwa commented Mar 30, 2024

Is your feature request related to a problem? Please describe.

Data view in explorer

  1. does not have the possibility to hide columns. This can be cumbersome if dozens (some times 3-digit) columns are imported. During Analysis, numerous columns can turn out to be less/completely irrelevant.
  2. looses all filters when switching to Graph view and back
  3. is disconnected with Graph Charts, which is unfortunate, as both views (connected) can save a lot of time for analysis
  4. does not have an "export csv" button, which can be really helpful, after "hiding columns" + "filtering"

Describe the solution you'd like

  1. data view: right click on column name (or add an "hide" icon) to hide columns (+ multi-select)
  2. data view: ability to move columns to the right or left (+ multi-select)
  3. data view: ability to select certain rows manually for "manual" filtering
  4. connect data and graph view: button to auto-apply filter + column selection with specific/all charts on graph view (charts on graph have then automatically updated the same filter/column hiding as in data view + vice versa)
  5. data view: add export to csv button (similar to graph view).
  6. data + graph view: extend export to csv with "copy to clipboard in CSV or pd.dataframe" format

Describe alternatives you've considered
There are no alternatives, apart from re-do manual work or doing screen-shots ...

Additional context
n/a - in case of clarification ... always available to reply/suggest/support ...

@ObservedObserver
Copy link
Member

Thank you for your suggestion.

Indeed, such functionality is often beneficial in data analysis software. However, PyGWalker follows a distinct design approach. It does not manage all aspects of the GUI, particularly those related to dataframes. This design choice grants users greater flexibility to customize features directly in Python.

For example, in your case, you could conceal certain columns either by modifying the dataframe before passing it to PyGWalker or by adjusting the field_specs parameter.

@ObservedObserver ObservedObserver added Vote if you want it Only will be started when enough votes collected. proposal labels Apr 2, 2024
@wzherwa
Copy link
Author

wzherwa commented Apr 2, 2024

apart from the GUI functionality (which wouldn't be a great effort to implement and the benefits outweigh design restrictions) - what about the export / return analysis data? the export or "function return data analysis" in JSON or at least CSV would also come in handy. Reasoning: the analysis process doesn't stop with pygwalker, it is a tool in a whole process, where it receives data and forwards analysis outputs. It should be considered as "embedded" tool in a process with "API-based" data input and output to avoid media breaks (as currently with the "standalone" architecture). Otherwise, other tools will fill in that important gap and pygwalker could loose traction.
What's your opinion on these considerations?

@ObservedObserver
Copy link
Member

ObservedObserver commented Apr 2, 2024

export csv

image

pygwalker had never been and never will be an standalone architechture, it is designed for embeddable analytics without breaking the current workflow since day one.

Not only it can export csv, but dataframe, sql, view state, painter values as well. We are making more tutorial videos to introduce these features, but welcome to explore them by yourself.

Remeber, pygwalker is a component, not a system, you can use it in jupyter notebook, colab, notion etc. It can interactive with its env and connect the workflows. "Standalone" architecture is the most improper tag to pygwalker.

@wzherwa
Copy link
Author

wzherwa commented Apr 2, 2024

export csv

image

I am aware of the export button and apologise for not being clear enough - I was suggesting an "return results" function, when f.ex. closing pygwalker (part of an analysis chain). To give you an outlook - in order to automate, make complex analysis more comprehensible, pygwalker is "only" an (important) step of a whole analysis chain, f.ex. I am trying to incorporate pygwalker in an autogen (Microsoft llm agent framework) "dynamic" process, but as I cannot return any results (only separate file via export.csv, manually) it is of limited final use ...

@ObservedObserver
Copy link
Member

Firstly, you can get the result as dataframe in python API of pygwalker. Secondly, I am not sure I understand what you want to implement with pygwalker, you want some AI agent to make "drag-and-drop" operations to analysis the data in pygwalker? Can you share more about what you want to build so I can provide more helpful suggestion based on pygwalker?

@wzherwa
Copy link
Author

wzherwa commented Apr 2, 2024

Firstly, you can get the result as dataframe in python API of pygwalker. Secondly, I am not sure I understand what you want to implement with pygwalker, you want some AI agent to make "drag-and-drop" operations to analysis the data in pygwalker? Can you share more about what you want to build so I can provide more helpful suggestion based on pygwalker?

ad result as data frame in python API from pygwalker)

  • please excuse my ignorance, but can you please point me to this API?
  • I only saw so far API calls for sending data to pygwalker, but not receiving data from pygwalker ...

ad use case)

  • I have a streamlit application, which has autogen framework under the hood with two agents and a number of functions.
  • one of these functions is to invoke pygwalker and send the data to be analysed as pd data frame
  • what I am now seeking for is to receive the analysis back as answer to the function call (as pd data frame or json or ...)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
proposal Vote if you want it Only will be started when enough votes collected.
Projects
None yet
Development

No branches or pull requests

2 participants