Hey, guys. I've just made a plugin which turns your pandas dataframe into a tableau-style component. It allows you to explore the dataframe with easy drag-and-drop UI.<p>You can use PyGWalker in Jupyter, Google Colab, or even Kaggle Notebook to easily explore your data and generate interactive visualizations.<p>PyGWalker (pronounced like "Pig Walker", just for fun) is named as an abbreviation of "Python binding of Graphic Walker".<p>Here are some links to check it out:<p>The Github Repo: <a href="https://github.com/Kanaries/pygwalker">https://github.com/Kanaries/pygwalker</a><p>Use PyGWalker in Kaggle: <a href="https://www.kaggle.com/asmdef/pygwalker-test" rel="nofollow">https://www.kaggle.com/asmdef/pygwalker-test</a><p>Feedback and suggestions are appreciated! Please feel free to try it out and let me know what you think. Thanks for your support!
I love this, it seems like the heavy lifting is done by the web app here: <a href="https://github.com/Kanaries/graphic-walker">https://github.com/Kanaries/graphic-walker</a><p>I’m amazed that this is open source, it’s incredibly useful.<p>I wish there was a profiler implementation, the best profiler is in GCP’s DataPrep.
The Tableau algorithm is patented. In particular, the algorithm that chooses the type of the chart depending on the properties of the data. It was developed under the name Polaris at MIT (?).<p>A few patent applications were accepted in the US and declined in the EU.<p>This is based on graphic-walker which is based on vega as far as I see. It would be interesting to see if vega is different enough from Polaris/Tableau.
This is very cool. I'm the creator of Mito [1] -- we're also building a data visualization tool in JupyterLab. The Tabluea approach that you took is really interesting! Going to send you a message -- would love to learn more!<p>[1] <a href="https://www.trymito.io">https://www.trymito.io</a>
I was working on building something like this as an extension to Datasette and I still believe that would be a very powerful combination. Maybe this could be embedded with datasette via an extension? Maybe something I'll look into if I can find the time.
Very cool!<p>Anyone know how this compares to Apache Superset? <a href="https://superset.apache.org/" rel="nofollow">https://superset.apache.org/</a>
Awesome, but I just filed #28 (<a href="https://github.com/Kanaries/pygwalker/issues/28">https://github.com/Kanaries/pygwalker/issues/28</a>) because it makes it a trifle hard to do timeseries visualizations with relatively high res data.
Mega impressed, I can see myself using this regularly. Charting and viz with matplotlib and pandas transforms is great, but a lot of time there’s a benefit of dumping to point-and-click mode with tableau to quickly spin data around without much coding. This will make that workflow much smoother
Nice! Do you think it's useful for working with non-numeric tabular data too? I'm using a dataframe in vscode as a kind of mini SQL database. Vscode visualizations of dataframe are pretty bad, would be great to have another option for rendering.
[Update]<p>>> Please follow us on twitter for latest updates <a href="https://twitter.com/kanaries_data" rel="nofollow">https://twitter.com/kanaries_data</a>
Can we "embed" these visualizations into a web application -- say a React app?<p>Any guidance on how one would go about that would be appreciated. Thanks!
This looks great trying it with the example data [0], but as far as I can figure out, is there no way to change the column datatypes when they are wrongly typed after loading in local files?<p>[0]: <a href="https://graphic-walker.kanaries.net/" rel="nofollow">https://graphic-walker.kanaries.net/</a>
Hmm Im trying to open a few csv's but none of them seem to work. The ui opens but I have no filters or ways to display anything, I just can see the name of the columns/fields from my data. Am I doing something wrong?
Is there any support or implantation for writeback functions? We use tableau at work for lots of reporting, and it just pissed me off how expensive many functionalities are if you need to purchase from third party vendors.
I noticed this and the other library it uses assume you know what Tableau is - I don't, but these widgets look useful anyway.<p>It might be better if they were more up front about what they do, while still acknowledging Tableau.
Cool! I just created a course covering visualization with Pandas, Seaborn, Excel, Tableau, and a few more apps. Would be interested to see how easy it would be to recreate some of the visualizations with this.
Gonna give this a try - I end up doing a lot of complicated data transforms in pandas for plotting purposes. Hopefully this can help out. And minimize the time having to spend labelling etc.<p>Looks cool
This is the best thing since sliced bread! As someone that uses both Jupyter notebooks in lab(and loves to make vis) and uses tableau to prototype this is epic. It works trying it out of the box.<p>However, the most important feature I love about tableau and why I’m not dropping it is: the data import and sharing dashboard section. I’m sure this is something that could be interesting to investigate.<p>The data section where you can link data columns (and filter across all datasets after linking) and do pivot work in an intuitive way(see melt in pandas).<p>The data dashboards are great to share with my clients the output of my analysis work. I’d love it move to a bokeh style, but customizing those dashboards is not for the faint of heart, although you get an opensource very robust product at the end, and you don’t need to pay license fees going forward. Clients that want to keep their analysis for the long term can go for this option.
This is pretty cool! It uses Vega transforms under the hood, right? The default backend uses JS for transformation which is slow for large datasets. Did you consider using Duckdb under the hood via WASM? I run into this project but not sure how active it is: <a href="https://github.com/vega/vega-plus">https://github.com/vega/vega-plus</a>