Python Forum
New to Python, philosophical question
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
New to Python, philosophical question
#1
Good morning everyone,

I'm relatively new to Python but have been doing some object oriented programming for a while but mainly business intelligence efforts in SQL, Power BI, data warehousing and data modelling. So typical corporate BI. My organization wants to start using Python for analytics. I understand Python is becoming a very desired skill set and I'm fast track learning it and really do like it. However I'm struggling with not Python and its uses but why the organization would really want to use Python for analytics when we are already using Power BI. We have an infrastructure already in place with a newly constructed data lake (literally a week old) and a standing ETL and data warehouse model that is working and working well. I could see if we wanted to start using predictive analytics and creating forecasting models but we aren't. So now naturally one could reasonably say "well, ask your manager." We're both stumped because he's asked the same question. Anyone care to send me back to school on this? Besides cost, what would the advantages of Python Panda be over a tool such as Power BI?
Reply
#2
Warning: I am not really familiar with Power BI, so I may be misunderestimating it.

One reason would be versatility. There are probably certain analyses and visualizations that you can do in Python but you can't do in Power BI. This may allow you to fine tune things to your particular business, which is not something Microsoft does well in my experience. Also, my experience with SAS vs. R is that new tools often hit the free tool first. A given tool is often developed in the free tool because one person wants it and they develop it. The commercial tool is going to require multiple people to want it before they develop it.

Another reason is scripting. I'm not sure how much scripting capability Power BI has, but I'm guessing not much. Say you have an analysis and some visualizations you want to run, but you want to run all of that on 50 different subsets of your data. Once you've got the base analysis/visualization code done, that's very easy to do in Python.

Whether either of these reasons is actually valid for your business, you would have to determine.
Craig "Ichabod" O'Brien - xenomind.com
I wish you happiness.
Recommended Tutorials: BBCode, functions, classes, text adventures
Reply
#3
Thank you for the insights. So since I didn't mention any of my assumptions, I was on the right track with what you said. Power BI is very capable but each report works with a single data model data set. It's a very focused tool meant for very aesthetically pleasing and in some cases interactive visualizations. Personally I think it's a great tool but yes, absolutely has its limitations. FOr instance you're right. One data set. One "dashboard". You can make many visualizations from this data set and manipulate the data per visualization, page, or full report but you can't say run a script against the data set to make adjustments. You have to manually filter your data set at the data set level or edit the SQL query that is feeding the Power BI report. I think like everything else then, it just depends. Appreciate your help!
Reply
#4
tl;dr
Maybe there is a redy-to-use Platform, written in Python. But I don't know them.
I have seen only this ERP Tool Odoo.
This is written in Python.




Pandas is not everything. You have a whole stack of other libraries like numpy, scipy, matplotlib, jupyter (notebooks), seaborn, plotly, machine learning stuff like tensorflow or scipy, scikit-learn...

For sql, you can use the orm sqlalchemy.
For web: flask, Django, fastapi
Typechecking: Pydantic, mypy

And 1000 other interesting new stuff to learn.

I'm not working in this area. Previously I was working with radar system (data acquisition, signal processing).
The tasks you need, are different. Power BI looks for me like as complete solution for business reports and analytic.

If you switch over to python, you have first to learn Python.
Then you need to look which libraries you need. It depends on your requirements.
I think some of them I named, are useful.
Reading documentation and testing consumes much time.
Then you build your platform, then the stuff which was previously in Power BI.
This projects needs time and costs money and all coworkers must be willing to learn new stuff.

After the change, you're more independent.
This can run inside your company without an internet connection.

After the change your karma reaches the next level.
But if you don't want the stress, you should tell it your boss.
It's not a quick change.

The problem is often, that non technical people see things on the internet or in presentations and guess it is very easy.
Yes, often in presentations they use minimal code, that fit on the screen. But in real life the code can get very complex and dirty.
This does not fit on the screen.
Almost dead, but too lazy to die: https://sourceserver.info
All humans together. We don't need politicians!
Reply
#5
I'm a bit disappointed. I came here expecting a philosophical question...
Reply
#6
(Nov-15-2019, 08:15 PM)Gribouillis Wrote: I'm a bit disappointed. I came here expecting a philosophical question...

There's an implicit one in the timezone thread: If you're in a timezone using DST today at 3:00 pm, and you go back 180 days, what time is it?
Craig "Ichabod" O'Brien - xenomind.com
I wish you happiness.
Recommended Tutorials: BBCode, functions, classes, text adventures
Reply
#7
The discussion feels only philosophical, if you don't often work with timezones.
For example airlines doing it right. On your ticket the boarding time is in local time.
The destination have the timezone of the destination. But internally they representing everything
with GMT0, which is not timezone. It is just a 0 offset of global time.
This makes calculations easier and is less error prune. Only if you display or print something,
then it's converted to local timezone.

It's like a definition of coordinate systems. You have the world coordinates and on top you can put
many other coordinate systems with different offsets and angles. If you tell a robot drive to Point 10,
you have also to define on which coordinate system. If you work with a tool, then the tool coordinates helps,
to drive the tool straight in room. By definition Z is swapped. Z+ in World Coordinates means up. In tool coordinates Z+ is down.

Many things we use in real world, are defined by humans. We made the definition of Global Time.
But this does not mean, that we have defined also a timezone for aliens.
I guess they have their own standards and time format with localization.

For us it's important to have our standards, also for Aliens.
Almost dead, but too lazy to die: https://sourceserver.info
All humans together. We don't need politicians!
Reply


Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020