Getting Started With Dash: Easy Data Visualization In Python - Part 1/3

  Рет қаралды 94,068

ArjanCodes

ArjanCodes

Күн бұрын

A very common thing you want to do in Python is visualize your data in a dashboard. Today I show you how to set up data visualization using Plotly Dash in Python in a few easy steps. I'm going to revisit this example in a few weeks to add more features to the dashboard and to improve the design. A big thank you to Mark Todisco for his help with preparing the code example!
The code I worked on in this tutorial is available here: github.com/ArjanCodes/2022-dash.
💡 Get my FREE 7-step guide to help you consistently design great software: arjancodes.com/designguide.
💻 ArjanCodes Blog: www.arjancodes.com/blog
🛒 GEAR & RECOMMENDED BOOKS: kit.co/arjancodes.
👍 If you enjoyed this content, give this video a like. If you want to watch more of my upcoming videos, consider subscribing to my channel!
💬 Discord: discord.arjan.codes
🐦Twitter: / arjancodes
🌍LinkedIn: / arjancodes
🕵Facebook: / arjancodes
👀 Code reviewers:
- Yoriz
- Ryan Laursen
- James Dooley
- Dale Hagglund
🎥 Video edited by Mark Bacskai: / bacskaimark
🔖 Chapters:
0:00 Intro
1:17 Explaining the example
2:41 Introduction to Dash
5:10 Setting up a Dash application
8:02 Adding a dropdown component
13:09 Adding a button to select all nations
14:31 Dash callbacks with inputs and outputs
17:21 Adding a bar chart
20:24 Connecting the dropdown with the bar chart
24:10 Showing a message if no data is selected
25:02 Analysis of the application setup
#arjancodes #softwaredesign #python
DISCLAIMER - The links in this description might be affiliate links. If you purchase a product or service through one of those links, I may receive a small commission. There is no additional charge to you. Thanks for supporting my channel so I can continue to provide you with free content each week!

Пікірлер: 154
@ArjanCodes
@ArjanCodes 8 ай бұрын
💡 Get my FREE 7-step guide to help you consistently design great software: arjancodes.com/designguide.
@vigneshmurali1994
@vigneshmurali1994 Жыл бұрын
As someone who really likes your tutorials and shorts and a patron of this channel. If I can make a suggestion, 1. Whenever you talk about a specific module or a feature it would be better if you should something visual and do a voiceover. This is help people to understand what it is that you are exactly referring to at any point in time. 2. Before diving coding always provide with a good overview which can help people understand what it is that you are trying to do end to end. (Remember you may be knowing stuff beforehand but for the people who are watching you will need to have some context on what you are going to do). Just some friendly suggestions.:) Cheers
@agar.iodestiny8677
@agar.iodestiny8677 Жыл бұрын
Just what I needed. Great video once again, you can't imagine the influence of your videos on a self-taught like me. Your channel is a gold mine, and the content can't be found anywhere on the web. Can't thank you enough for your content. Thank you!!!
@ArjanCodes
@ArjanCodes Жыл бұрын
Thanks, happy you’re enjoying the content!
@kgrileyfyi
@kgrileyfyi Жыл бұрын
Dude you really changed my life. Every since you taught me about the importance of python classes with dataclasses. All my sqlalchemy models became serialized with jsonify. I implemented the command pattern to generate pdfs and send invoices and I set up a transaction based accounting system. All your video have transformed my app in such a positive way. It feels like every video you post is a module that can be directly inserted in my app replacing my old code and vastly improving it into a way less coupled system. I just want to thank you because their is none of this stuff out there beside the content you are creating.
@ArjanCodes
@ArjanCodes Жыл бұрын
Hey Kevin, so glad to hear the content has been helpful to you. Keep going, looks like you're killing it!
@luannguyen743
@luannguyen743 Жыл бұрын
I work with data and really like using Dash. However I have been struggling with structuring a Dash project in a clean way. Thanks for sharing this, Arjan. Just what I needed.
@saitaro
@saitaro Жыл бұрын
Can this thing replace React or Vue for a pythonista? I don't like frontend stuff and wondering if this can save me.
@utica2burn
@utica2burn 10 ай бұрын
I have programmed in Python for years, but honestly all new to me to see syntax like "from . import" and "->" in a function definition. Some further studies needed to completely understand this tutorial.
@MarvinAustria1
@MarvinAustria1 Жыл бұрын
Love it! First time working with Dash and I love your explanation! Thank you
@edip_c
@edip_c Жыл бұрын
Yet another fantastic video. Love how you make concepts easy to digest. ❤❤ Thanks a lot Arjan!
@ArjanCodes
@ArjanCodes Жыл бұрын
My pleasure ❤
@Plotly
@Plotly Жыл бұрын
Awesome video, @ArjanCodes. Thank you for using Plotly and Dash and for teaching others.
@ArjanCodes
@ArjanCodes Жыл бұрын
Thank you! And happy to promote great tools ☺️.
@carecavoador
@carecavoador Жыл бұрын
Uow! This is so powerful and elegant! Thank you so much for this, Arjan.
@ArjanCodes
@ArjanCodes Жыл бұрын
Thanks so much Careca, glad it was helpful!
@liucloud6317
@liucloud6317 Жыл бұрын
Your tutorials are always clear and concise! Thank you for sharing it, Arjun!
@ArjanCodes
@ArjanCodes Жыл бұрын
Thanks Liu, happy you’re enjoying the content!
@emonymph6911
@emonymph6911 Жыл бұрын
You earned a sub for actually slowing down for 15sec and explaining the terminology. "So for this we need a callback... A callback is..." Thank you! Most people would never define it. This means we can watch one of your videos and learn everything required to complete the task without having to search for other stuf. It means a lot!
@warrenarmstrong1032
@warrenarmstrong1032 Жыл бұрын
Thank you for covering this topic Arjan!
@ArjanCodes
@ArjanCodes Жыл бұрын
Thanks so much Warren, glad it was helpful!
@izem9652
@izem9652 Жыл бұрын
You can use the query method with f-strings if you want to reference to the 'nations' variable: MEDAL_DATA.query(f"nation in {nations})")
@aflous
@aflous Жыл бұрын
But why use query in the first place? The most common way I saw for filtering panda' dataframes rely on just using a mask. It's much readable imho
@ArjanCodes
@ArjanCodes Жыл бұрын
We used masks in an earlier version of the code example, and using query resulted in a lot shorter code, especially if you combine multiple filters. It’s also really efficient.
@MaxMustermann-on2gd
@MaxMustermann-on2gd Жыл бұрын
@@ArjanCodes I also prefer working with the query method. There are just some cases which combine slicing+filtering and can get a bit complicated. Most often such cases require .iloc .. in these instances I often use a mask. Apart from that .query in combination with f-strings or the @-notation is really powerful and I guess more humam readable.
@BPopes
@BPopes Жыл бұрын
Even better (I think) you can use one of the kwargs that query accepts: `MEDAL_DATA.query("nation in @var", local_dict={"var": nations})`. This way your linter won't complain and you can let pandas interpret the variable.
@antoniocarlossegurogonzale2973
@antoniocarlossegurogonzale2973 Жыл бұрын
Right when I needed this, thank you so much Arjan
@ArjanCodes
@ArjanCodes Жыл бұрын
Thanks so much Antonio, glad it was helpful!
@ronalddebruijn613
@ronalddebruijn613 Жыл бұрын
Just in time this video! As a retired programmer, I started learning python just for fun. Looking for structure in the python world, I found your channel. It helps a lot. I like your pragmatic approach using classes and functional programming. Just now I started looking at Plotly and Dash. Again looking for structure, again provided by ArjanCodes..
@ArjanCodes
@ArjanCodes Жыл бұрын
Thanks so much Ronald, glad it was helpful!
@zachazares8355
@zachazares8355 Жыл бұрын
I remember watching this mini-series when it came out & enjoying the content. Now, months later after having made a dashboard used internally at my company, I rewatched & realized so many smelly parts of my code that your design has helped me refactor. Your content is so helpful & practical for learning good philosophies of code after the 1st, 2nd, & countless rewatches. Thank you for your entire channel Arjan!
@ArjanCodes
@ArjanCodes Жыл бұрын
Thank you so much!
@tinylittleanj2
@tinylittleanj2 Жыл бұрын
did you use the microsoft Graph sdk or something to authenticate users, or is it just on the local network? I like the idea of being able to switch (mostly for my own satisfaction) people from Power BI over to a python solution. We currently use Azure to authenticate users (and filter the datasets they are getting)...
@user-jd6bm9vm3j
@user-jd6bm9vm3j 2 ай бұрын
Usually I do not tend to comment on videos but let me thank you for this gift of video!! You cannot imagine how much you helped me understand the way dash works - I am currently studying Data Science and this was great for making my data visualisation project where I analysed US accidents and their distribution over the different states. Thank you Arjan :))
@ArjanCodes
@ArjanCodes 2 ай бұрын
Glad to hear that the video was helpful to you! Thank you for the comment :)
@user-xd5gd4pc9h
@user-xd5gd4pc9h Жыл бұрын
Looking forward to the 2nd part!
@ArjanCodes
@ArjanCodes Жыл бұрын
It’s coming this Friday ;).
@kantorobo7718
@kantorobo7718 Жыл бұрын
Beste Arjan heel veel succes, dit is een toffe tutorial.
@Jonathan-ex3sl
@Jonathan-ex3sl Жыл бұрын
this is great! can't wait for the next video :)
@ArjanCodes
@ArjanCodes Жыл бұрын
Coming soon!
@fennecbesixdouze1794
@fennecbesixdouze1794 Жыл бұрын
Please set the path to your interpreter in VS Code so all the code from these third-party libraries isn't highlighted red.
@TimoRJensen
@TimoRJensen Жыл бұрын
+1
@RedShipsofSpainAgain
@RedShipsofSpainAgain Жыл бұрын
How do you set the path to your interpreter in vs code?
@AugustoGeografo
@AugustoGeografo Жыл бұрын
Arjan, thanks for the great carefully designed content. The render function, in your example, gets a def function inside of it. Is there another pattern which can be used there? Making the nested def outside and calling it inside render?
@heirofsam
@heirofsam Жыл бұрын
This really helped me a lot, Thanks!
@0lec817
@0lec817 Жыл бұрын
Hi Arjan, thanks for the great video! Just a quick question: Is there a specific reason you use relative imports over absolute imports? My rule of thumb is to always use absolute imports since they are supposedly more clear?
@wayneqwele8847
@wayneqwele8847 Жыл бұрын
Yoh great content Arjan !
@ArjanCodes
@ArjanCodes Жыл бұрын
Thanks so much Wayne, glad you liked it!
@marouaneayech
@marouaneayech 3 күн бұрын
Really awesome video @ArjanCodes, Keep up the great job
@ArjanCodes
@ArjanCodes 3 күн бұрын
Thank you!
@danhintz7306
@danhintz7306 Жыл бұрын
Great video! Thank you so much! Btw, what color scheme do you use in vscode? It's awesome!
@istvanmeszaros4112
@istvanmeszaros4112 Жыл бұрын
I agree with you about the Python magic. I think it causes more problems in this case than it actually helps. Also without type hinting Dash apps easily become messy. Sometimes even with type hints, just try to change the return HTML instance to html.Span instead of a DIV, not even mypy will complain. (At least this is my current experience) However the lack of types and all this "magic" is very useful in notebooks for data analysts. So probably they should be only used there. FYI, good thing that dash apps also work inside a notebook.
@nicholashemenway2787
@nicholashemenway2787 9 ай бұрын
Hey Arjan, I love your content and have been following you since you first started on youtube! One question though, why do you find it advantageous to define the callbacks inside of the render functions? As opposed to defining it in a separate module? I haven't seen this style of defining callbacks inside of a render function anywhere else. Thanks!
@Patrick-hl1wp
@Patrick-hl1wp Жыл бұрын
This tutorial is awesome!!
@ArjanCodes
@ArjanCodes Жыл бұрын
Thank you Patrick, glad you liked the video!
@paulstinchcombe1130
@paulstinchcombe1130 Жыл бұрын
fantastic video. Thank you!
@ArjanCodes
@ArjanCodes Жыл бұрын
Thanks Paul, happy you’re enjoying the content!
@text414
@text414 Жыл бұрын
Hey @arjancodes, great tutorial. I've just started my dash journey, and this video has proven an invaluable resource. I have one question: why do the layout and component functions take the app as an argument when they contain no direct calls to the app?
@Whatthetrash
@Whatthetrash Жыл бұрын
This is cool, but I often find myself overwhelmed when there are so many new libraries to keep track of. What helped me get comfortable with the possibilities of the base language (Python) is learning the functions and what they do. I feel the same thing is necessary for any library I use. After all, why is a certain function being used as opposed to another function? Does this solve something that cannot be done using 'bare Python', or does it just streamline it? If so, how? All of that helps to make sense of all these imports. For me, knowing the scope of something is very important. All that said, cool video and I look forward to future parts. Cheers! :)
@datacentrico
@datacentrico Жыл бұрын
Very cool. Thanks for that.
@ArjanCodes
@ArjanCodes Жыл бұрын
Thanks Thiago, happy you’re enjoying the content!
@esmaelmohamed8209
@esmaelmohamed8209 7 ай бұрын
Arjan ur blessed. No word for me I Thank you very much!!!
@ArjanCodes
@ArjanCodes 7 ай бұрын
I'm glad you've enjoyed the content, Esmael!
@esmaelmohamed8209
@esmaelmohamed8209 7 ай бұрын
@@ArjanCodes Always Arjan, I learn not only from your content, i learn from your word, facial expression, responsibility for your community and how to became selfless person. Arjan your Real Professional. I Salute 🙏 for you and blessed family.
@ryanlong8074
@ryanlong8074 Жыл бұрын
Well said towards the end concerning Python magic.
@ArjanCodes
@ArjanCodes Жыл бұрын
Thanks so much Ryan, glad you liked it!
@omiwa9718
@omiwa9718 Жыл бұрын
Great tutorial, dash is amazing
@ArjanCodes
@ArjanCodes Жыл бұрын
Thanks so much James, glad you liked it!
@wisanuupatumphun7831
@wisanuupatumphun7831 Жыл бұрын
So cool for simple web app to display data nicely!!
@ArjanCodes
@ArjanCodes Жыл бұрын
Thanks so much Wisanu
@anastaha5261
@anastaha5261 Жыл бұрын
it works perfectly thank you so much
@ArjanCodes
@ArjanCodes Жыл бұрын
Thanks so much, glad the content is helpful!
@ren200758
@ren200758 Жыл бұрын
nice! my first real project is based on Dash! I wish I had seen this video back then to avoid some frustrations. I do have a complaint about typing though. static type check doesn't seem to reliably catch the type of outputs of callbacks and back then something I thought passed in int was actually passed in str.
@jordangigg8631
@jordangigg8631 Жыл бұрын
Heya Arjan, I love your videos and have a suggestion for a future video. I would love to see something involving rate limiting multiple API's concurrently within one program:)
@ArjanCodes
@ArjanCodes Жыл бұрын
Thanks so much, glad you liked it! Thanks for the suggestions, Jordan, I've put it on the list.
@metensis
@metensis Жыл бұрын
Great video and repo as usual. I am wondering why you are using conda vs pipenv. As pipenv supports multiple python version and simpler config with Pipfile and locking of the config? I found pipenv easier to use. Any thoughts or video in the future? 🙂
@tinylittleanj2
@tinylittleanj2 Жыл бұрын
Do you set up an environment when you build these? Or not so much for the tutorials? I don't want to just install everything (in the wild) and was wondering if you have a preferred environment that you use that integrates relatively well with Code.
@PeterSeres
@PeterSeres Жыл бұрын
Great video. Some feedback though on the video design: going from a dark setup to an all-white webpage is really jarring and would appreciate in newer videos to keep a consistent dark / light theme.
@chillydickie
@chillydickie Жыл бұрын
Would it be possible to cover github actions? Perhaps to do automated testing of python scripts since youve covered unit testing before.
@edgeeffect
@edgeeffect 10 ай бұрын
I come here for Python and software design... but... Dragging a terminal view into a VSCode tab... "woooooah" - "mind blown!" `"terminal.integrated.defaultLocation": "editor",` makes it even better!
@Moncamonca
@Moncamonca Жыл бұрын
I prefer using boolean masks to filter pandas dataframes, partially for this reason. All objects are referenced as objects explicitly. Although, the query method is convenient in longer chained calls, I have to admit.
@rafaelfelipenovi6308
@rafaelfelipenovi6308 Жыл бұрын
Very good video, i love dash and r shiny :)
@utica2burn
@utica2burn 10 ай бұрын
would you recommend first learning html? coming from a python background and being new to HTML it seems like dash is structured in a way that takes HTML as a prerequisite
@rollinas1
@rollinas1 Жыл бұрын
Yes!
@priyesbamne9112
@priyesbamne9112 Жыл бұрын
We need an entire python course from you
@ArjanCodes
@ArjanCodes Жыл бұрын
Thanks Priyes! I do have a Python/software design focused online course available here: www.arjancodes.com/mindset
@surajkadel8762
@surajkadel8762 Жыл бұрын
Thank you for this
@ArjanCodes
@ArjanCodes Жыл бұрын
Thanks so much Suraj, glad it was helpful!
@surajkadel8762
@surajkadel8762 Жыл бұрын
I have always been very choosy, when it comes to lectures, instructors or topics. But your videos helped me improve my python coding skills. In the past 6 months, I have seen myself writing better code, credits to you. Hopefully will keep on improving myself. Thank you
@XenoZeduX
@XenoZeduX Жыл бұрын
Dash is awesome, I utilized it to showcase projects in college; I do prefer Streamlit now, there are a few other alternatives as well like Panel
@ArjanCodes
@ArjanCodes Жыл бұрын
Thanks so much Soumendu, glad it was helpful!
@rollinas1
@rollinas1 Жыл бұрын
Streamlit is cool, but I can't always figure out how to run it efficiently, without rerunning the unnecessary code every time you interact with GUI
@cerioscha
@cerioscha Жыл бұрын
Panel and Holoviews are so handy for rapid development of data science proof of concept dashboards and views.
@williamwatkins6669
@williamwatkins6669 Жыл бұрын
What plugins do you use in what I belei5 is vscode for code formatting on svae and auto improts?
@thichquang1011
@thichquang1011 Жыл бұрын
How would you do to modify the fig data instead of creating a new fig each time the drop-down values change ?
@encoride3312
@encoride3312 Жыл бұрын
I need part 3 lol. Will it be styling?
@gtorres94
@gtorres94 8 ай бұрын
Hi @ArjanCodes thank you very much for the video. As already stated, it would be great if you could make some pauses and explain some of the code in more detail, otherwise it becomes quite difficult to follow. I have a question for the button callback. How does the app know that the button click refers to that callback and how does the callback know what function to call? I don't see any link bewteen these. Thanks! EDIT: So I finished the video and saw that you mentioned exactly what I was asking. It's indeed quite confusing this "magic" thing of knowing what to do without any kind of reference to the function.
@zenmaster24
@zenmaster24 Жыл бұрын
in the @app.callback, the input listens to the number of clicks, captured by n_clicks - is this built in to dash as it did not seem to be defined and passed anywhere? excellent and informative tutorial though, as always 👍
@tobyvd
@tobyvd Жыл бұрын
This is built-in for the button component. Whenever you click on the button in the UI, it will increment the n_clicks value by one. Then, the callback will activate as the value for n_clicks was changed.
@zenmaster24
@zenmaster24 Жыл бұрын
@@tobyvd cheers for clearing it up
@SystemSigma_
@SystemSigma_ Жыл бұрын
Great content! Suggestion for next video: how to solve tedious cyclic import error due to type hints imports.. Pleeease :)
@ArjanCodes
@ArjanCodes Жыл бұрын
Thanks for the suggestions, Andrea, I've put it on the list.
@malikrumi1206
@malikrumi1206 Жыл бұрын
@25:00, you create the empty filtered data message and put it in a naked div with no p tag?! I don't claim to be an html/css expert, but I've never seen that before. Is there some unstated part of the Dash framework taking care of that with useful html tag defaults?
@ArjanCodes
@ArjanCodes Жыл бұрын
You don't have to put all text in a paragraph tag in html. I didn't do it here to keep things simple, though it is useful if you want to apply some formatting to the text like changing the font, color or size.
@Antares2390
@Antares2390 Жыл бұрын
Did you consider Streamlit rather than Dash as a tool for creating such web apps? Streamlit seems to be clearer for a quick start, and it still provides enough flexibility and functionality.
@alexandrodisla6285
@alexandrodisla6285 Жыл бұрын
Streamlit lack maturity. Dash, streamlit, shiny for python are made for data applications. Nothing more. Shiny for python is more mature because it stands on shoulders of the shiny framework which was available only with the R language.
@jfsaraceno9265
@jfsaraceno9265 Жыл бұрын
Great, Charming Data's yt page is awesome too!
@ArjanCodes
@ArjanCodes Жыл бұрын
Thanks so much, glad you liked it!
@rahulkmail
@rahulkmail Жыл бұрын
Is Dash faster than React or slower than React in loading components ?
@xilan8804
@xilan8804 8 ай бұрын
I was wondering if it is possible to have the git hub link? thanks
@RavenGhostwisperer
@RavenGhostwisperer Жыл бұрын
hmm.. trying to understand the scenarios where Dash is better than PyScript (ignoring its current status) - I guess it will depend on the amount of Python code vs HTML?
@sjmarel
@sjmarel Жыл бұрын
I also dislike python magic, for it behaves as a sort of obfuscation. Thanks for the vid again!
@ArjanCodes
@ArjanCodes Жыл бұрын
Glad you enjoyed it!
@alexandrodisla6285
@alexandrodisla6285 Жыл бұрын
Shiny for Python is a good one.
@ArjanCodes
@ArjanCodes Жыл бұрын
Thanks Alexandro, happy you’re enjoying the content!
@NagarajVS-xg9rr
@NagarajVS-xg9rr 2 ай бұрын
Which IDE is good for creating dashboards with DASH?
@dariuszspiewak5624
@dariuszspiewak5624 Жыл бұрын
I just wonder... How long does it take to learn the ins and outs of, say, Dash and Plotly, to be confident in using them and create something useful. Anyone can comment on this, please? Thanks.
@BiologyIsHot
@BiologyIsHot Жыл бұрын
Yeah I don't personally like Pandas attempts at mimicking dplyr. df[df[column] == vals] is great and programmatic enough for me.
@user-wi2en3be9t
@user-wi2en3be9t Жыл бұрын
someone help me, i don't know how to make a template like in this video, i have searched on google but haven't found it
@aliwelchoo
@aliwelchoo Жыл бұрын
Loved this video, especially the layout of components, however I feel like I'd like to keep the callbacks defined elsewhere so the components are reusable without needing other components to exist and also since the callback logic does get complex with needing multiple outputs in the same callback etc
@padraic1983
@padraic1983 Жыл бұрын
Can you show us how to integrate a dashboard into a django project?
@matheusvenancio5809
@matheusvenancio5809 Жыл бұрын
Is there any video where you explain those constructions like "def render(app: Dash) -> html.Div:" Or the name of those constructions, so I can search it Could not understand Thanks
@adamfarquhar1279
@adamfarquhar1279 Ай бұрын
I'm sure that you've answered this question by now, but these are python type annotations. The simple syntax is `var: type` or `def fun(args) -> type`. The first one indicates that `var` is of type `type` and the second one indicates that `fun` returns an object with type `type`. The type annotations are considered hints rather than declarations. Python doesn't actually do mandatory type checking and the standard cpython doesn't take advantage of the type information. They exist as documentation and the IDEs will use them to help you avoid mistakes in your code. For example, if you a function returns a list and you are adding the result to a float, the IDE can signal that this is likely an error.
@masheroz
@masheroz Жыл бұрын
How can you make this work when you need to upload multiple 100s of megabytes of data?
@williamwatkins6669
@williamwatkins6669 Жыл бұрын
Hi, I'm commenting on your latest video as I'm not sure how to reach you otherwise. Could you do a tutorial on what would be the best way to generate documentation for a python project. I see many options. I understand generating docs from comments can be useful, but I'm curious on how the pros do it. Thanks
@ArjanCodes
@ArjanCodes Жыл бұрын
Thanks for the suggestions William!
@nitinkumar7225
@nitinkumar7225 Жыл бұрын
Can you cover some topics on Streamlit please?
@ArjanCodes
@ArjanCodes Жыл бұрын
Great suggestion, thank you!
@yliu4093
@yliu4093 Жыл бұрын
Thx can you do a video about how to debug dash using vscode thanks
@ArjanCodes
@ArjanCodes Жыл бұрын
Thanks for the suggestions, Y Liu, I've put it on the list.
@shaunakkakade1325
@shaunakkakade1325 11 ай бұрын
Where did the gold, silver medal numbers for each nation come from?
@imveryhungry112
@imveryhungry112 5 ай бұрын
If dash makes it this easy to write front end aps that generate in react, why would anyone use javascript to do it? Can someone answer that?
@LuisLopez-sc1qc
@LuisLopez-sc1qc 11 ай бұрын
En ESPÑOL clases o jemeplos de DASH no hay casi nada todo en inglés... Dónde hay videos en Español
@casimirdesarmeaux3901
@casimirdesarmeaux3901 Жыл бұрын
Not all heroes wear capes
@ArjanCodes
@ArjanCodes Жыл бұрын
Thanks so much
@vivekdabholkar5965
@vivekdabholkar5965 Жыл бұрын
Unable to install dash_bootstrap_components
@ChrisC-fk4lq
@ChrisC-fk4lq Жыл бұрын
@24:30 to check if a dataframe is empty, you can use "filtered_data.empty == True" instead of "filtered_data.shape[0] == 0"
@rajeevmenon1975
@rajeevmenon1975 Жыл бұрын
The video was very interesting, but it could have been made a bit more easy to understand. Maybe it assumed awareness of Html, css knowledge.
@JohnZakaria
@JohnZakaria Жыл бұрын
I hate dash, the amount of http requests being sent is unfathomable. For every drop-down menu you click, dash will send a networks request to figure out what to do with it. Since dash is using flask, you are also using http1 by default which limits the amount of concurrent requests you can make. Another issue I have is the lack of separation between update action invokation. You can't include the same component in 2 different methods, even if the signature is different. Thus you start hacking your way to make the function do 2 things.
@ChrisC-fk4lq
@ChrisC-fk4lq Жыл бұрын
what are some good alternatives to dash ?
@JohnZakaria
@JohnZakaria Жыл бұрын
@@ChrisC-fk4lq We switched to Fastapi + React and never looked back. The added complexity was worth it.
@throblet
@throblet Жыл бұрын
I too HATE the use of “magic” functionality to make things work. To me it smacks of poor design philosophy but it gets the job done I suppose. Ho hum…
@manarma7536
@manarma7536 Жыл бұрын
great tutorial, but if i can make some suggestion, red lines are really distracting
@UNgineering
@UNgineering Жыл бұрын
HTML in Python feels so wrong! excellent tutorial though!
@ArjanCodes
@ArjanCodes Жыл бұрын
I know, it’s jarring isn’t it!
@uGetkilled
@uGetkilled Жыл бұрын
@@ArjanCodes next up, PyScript? :D
@SP-bk7ns
@SP-bk7ns Жыл бұрын
이런 강의를 공짜로 듣기에 너무 미안했다...
@ArjanCodes
@ArjanCodes Жыл бұрын
Thank you - glad you like it!
@smatsri
@smatsri Жыл бұрын
I don't think python is a good choice for creating UI
@RobinZuFALL
@RobinZuFALL Жыл бұрын
Great Video! I prefer to use: filtered_data = MEDAL_DATA[MEDAL_DATA['nation'].isin(nations)]
@Zonkin
@Zonkin Жыл бұрын
Instead of query, i would have used the isin() method in Pandas. MEDAL_DATA[MEDAL_DATA[‘nation’].isin(nations)] There’s a filter method as well, but I feel the .loc patterns are more powerful.
@LuisLopez-sc1qc
@LuisLopez-sc1qc 6 ай бұрын
enseñen como publicarlo para compartir a otra personas
@Zoltag00
@Zoltag00 Жыл бұрын
filtered_data.shape[0] == 0 is not particularly user friendly. I'd suggest filtered_data.empty as a check that makes more sense. To fix your nations IDE problem, I'd recommend using MEDAL_DATA[MEDAL_DATA.nation.isin(nations)], though I actually think your query syntax is a nicer syntax for maintainability
Building A Financial Dashboard In Python With Dash - Part 2/3
22:06
15 Python Libraries You Should Know About
14:54
ArjanCodes
Рет қаралды 370 М.
Can You Draw A PERFECTLY Dotted Line?
00:55
Stokes Twins
Рет қаралды 91 МЛН
Heartwarming: Stranger Saves Puppy from Hot Car #shorts
00:22
Fabiosa Best Lifehacks
Рет қаралды 18 МЛН
когда повзрослела // EVA mash
00:40
EVA mash
Рет қаралды 3,8 МЛН
7 Python Data Visualization Libraries in 15 minutes
15:03
Rob Mulla
Рет қаралды 71 М.
Introduction to Dash Plotly for building Python Data Apps
36:10
Protocol Or ABC In Python - When to Use Which One?
23:45
ArjanCodes
Рет қаралды 198 М.
You Can Do Really Cool Things With Functions In Python
19:47
ArjanCodes
Рет қаралды 217 М.
5 Tips To Achieve Low Coupling In Your Python Code
18:30
ArjanCodes
Рет қаралды 94 М.
How to Make a Python Multi Page Application with Plotly Dash
13:37
Charming Data
Рет қаралды 24 М.
Introduction to Dash Plotly - Data Visualization in Python
29:21
Charming Data
Рет қаралды 773 М.
My Workflow for Building any Streamlit Dashboard Project
9:40
Fanilo Andrianasolo
Рет қаралды 71 М.
The Ultimate Guide to Writing Functions
24:31
ArjanCodes
Рет қаралды 178 М.
5 Tips For Object-Oriented Programming Done Well - In Python
16:08
Can You Draw A PERFECTLY Dotted Line?
00:55
Stokes Twins
Рет қаралды 91 МЛН