12
$\begingroup$

I spent the past year learning Python. As a person who thought coding was impossible to learn for those outside of the CS/IT sphere, I was obviously gobsmacked by the power of a few lines of Python code!

Having arrived at an intermediate level overall, I was pretty proud of myself as it greatly expands my possibilities in data analysis and visualization compared to Excel (aside from the millions of other uses there are for Python).

Purely in terms of data analysis and visualization:

what does approaching the same data set with pandas/matplotlib/seaborn/numpy bring to the table as opposed to using Tableau?

(sidenote: I was greatly disappointed to see all my hard-earned Python data wrangling skills were available in such a user-friendly GUI... :'( )

$\endgroup$
  • 3
    $\begingroup$ "As a person who thought coding was impossible to learn for those outside of the CS/IT sphere" Being in the CS/IT sphere doesn't make you able to code, being able to code makes you in the CS/IT sphere. $\endgroup$ – Acccumulation Mar 30 at 2:56
10
$\begingroup$

Don't worry - your hard-earned Python skills are still important ;)

Tableau is not a replacement - it is essentially a means of sharing your insights/findings. It is a wrapper around your normal toolkit (Pandas, Scikit-Learn, Keras, etc.). It can do some basic analysis (just using basic models from sklearn), but the powerful thing is it can deploy your models to allow people to run inference on stored data/new data, and then play around with it in an interactive dashboard.

Watch this video for a good overview of everything it can do, and how it connects to Python (and R/MatLab). There is just a bit of boiler plate code around your normal Python code.

Tableau also offer TabPy to set up a server, allowing nice deployments of your work, but in the end you need their desktop application to view the results (i.e. your customers need it to look at the results). This is not free: https://www.tableau.com/pricing/individual

In summary, I'd say Tableau is more of a business intelligence tool, allowing e.g. your non-data-scientist boss or other stakeholders to interactively explore the data and the results of your modelling. Similar to Microsoft's PowerBI.

| improve this answer | |
$\endgroup$
  • $\begingroup$ Thanks! I just started trying to import some of the data sets I had done some work on with pandas and I'm noticing the limits of Tableau (e.g. not able to recognize datetime64[ns] formatted data etc.) Great answer, I'll have a look at the links. $\endgroup$ – Uralan Mar 29 at 14:49
6
$\begingroup$

There is the official answer and the realistic answer (from a business perspective):

Official

Officially the greatest thing your Python skills will bring you is flexibility. If you are going to run some economical model where you want to show a gradient uncertainty or something else crazy, doing that manually in any Data Visualization/Business Intelligence software is going to be a pain. Or even simpler stuff like semi-complex aggregations will often be easier to do in a couple of lines of Pythons compared to the mess they can quickly become in BI software.

Practical

Business Intelligence software - which I will include Tableau into for this answer - can handle quite a lot of of the real life data analysis and data visualization steps. They are not particularly flexible compared to code, but day to day they are good enough. In general - given a typical business setting - I would even recommend them easily for most users. The greatest limiting factor with all of them is that the biggest job of a business data scientist is collecting and most importantly cleaning data, and that boils down to either manual labour... or coding. All BI software tries to help with pulling in data automatically and to a lesser extend help with cleaning it up, but often the real job boils down to 'connect to these databases, clean the data, combine the data and put them somewhere so you or someone else can visualize the data in BI software'.

And that's the thing, Google Data Studio is easily the least capable of all the different popular BI solutions, and yet it has become my good to solution, because once I prepare the data in the right way I can give it to anyway to explore the data and it has the easiest/best UX. And yes, any complex statistics will happen long before it gets into any BI software (in both Tableau and Microsoft PowerBI you can run Python also directly inside the product... personally I wouldn't recommend it, as it 1) just becomes messy and 2) pulls it out of source control), but those happen less often than one might expect.

Conclusion

If you are in the business of business intelligence then I would wholeheartedly recommend leaning on business intelligence software as much as possible. So my experience is that you have:

  • What your job really is: the Data Warehouse side of things (extract your data, transform (clean it) and load (storing it somewhere you can access from both your BI software and Jupyter))
  • What your end users will see: the BI software for the standard visualizations
  • What you want it to be: the occasional Jupyter notebooks for specialized analyses

Of course your experience might be completely different, but this has been my personal experience having worked for a couple of years for a company who helped companies with their data driven business management (and thus I got to see how it worked in a whole bunch of companies). And yeah, often enough all a company will be using is Excel + Power Query.

PS. Tableau tries to be this all-in-one solution. Personally my experiences have not been positive with them, but for whatever it's worth, they are the oldest most traditional player on the market.

| improve this answer | |
$\endgroup$
1
$\begingroup$

As someone who worked on a competitor to Tableau, Data Science skills have largely superseded the need for Bi Software for data munging, complex analysis and ad hoc reports.

But BI Software can still be beneficial if you need to deploy your results to lots of people, often with varying rights to view something (e.g. you can only see your performance stats, but not the stats of alice). For this, the graphical capabillites of Tableau and the underlying security model are quite a lot to recreate in Python.

This holds also true for a lot of use cases where you need to update reports regularly and the viewership needs nice reports.

On the other hand, data munging, etl and most importantly complex analysis pipelines are not the strong suit of BI Software, they are much better done in Python. Also, if you are providing an API, which is intended for programmatic consumption, Bi Software is often stark nacked.

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.