Andy McDonald
Andy McDonald
  • 50
  • 500 244
Structuring and Organising Streamlit Apps
Ensuring your Streamlit app is well organised can go a long way to helping you stay sane when developing your app or provide a nice starting point that saves you time by not having to create a new folder structure from scratch. Using cookiecutter templates, like the Streamlit Cookiecutter template can help automate the process and get you off to a better start when creating your app.
Get The Cookiecutter Template: github.com/andymcdgeo/cookiecutter-streamlit
⭐️ If you haven't already, make sure you subscribe to the channel: ua-cam.com/channels/n1O_4_ApzbYwrsUdRoMmOg.html
🎒READ THE ARTICLE
Check out the article version of this video on Medium:
towardsdatascience.com/how-to-structure-and-organise-a-streamlit-app-e66b65ece369
🙌 SUPPORT THE CHANNEL
- Hit the "Thanks" button on any video
- Buy Me a Coffee: www.buymeacoffee.com/andymcdonaldgeo
🔽 CONNECT WITH ME
Thanks for watching, if you want to connect you can find me at the links below:
- Medium: andymcdonaldgeo.medium.com/
- LinkedIn: www.linkedin.com/in/andymcdonaldgeo/
- Official Website: www.andymcdonald.scot/
#datascience #petrophysics #python #streamlit #eda
Переглядів: 1 660

Відео

Creating Waffle Chart Subplots With Matplotlib - Easy Data Visualisation for Geoscience
Переглядів 61511 місяців тому
This video follows my previous video where we created a basic waffle chart using PyWaffle. In this video, I share how you can quickly and easily display waffle charts as subplots in matplotlib, which can make it easier to understand the variances between different categories. ⭐️ If you haven't already, make sure you subscribe to the channel: ua-cam.com/channels/n1O_4_ApzbYwrsUdRoMmOg.html ▼ SUP...
Creating Waffle Charts With Matplotlib and PyWaffle
Переглядів 977Рік тому
Waffle charts are a great way to visualise categorical data, are aesthetically pleasing and easy for readers to understand - which is one of the key goals of effective data visualisations. They also provide a nicer looking alternative to pie charts. Waffle charts are square or rectangular displays made up of smaller squares in a grid pattern. Most commonly, it is a 10 x 10 grid, but they can be...
Styling Your Matplotlib Figures With a Cyberpunk Theme
Переглядів 1,3 тис.Рік тому
When we create infographics or posters containing data, we want to catch the reader’s attention and make it aesthetically pleasing to look at whilst telling a convincing story. Within Python, we have numerous plotting libraries that allow us to create charts - one such library is the well-known matplotlib library. However, out of the box, the plots generated by matplotlib are often seen as bori...
Displaying Maps With Plotly Express Mapbox and Streamlit
Переглядів 3,8 тис.Рік тому
Streamlit provides a quick and easy way to build interactive applications and dashboards for data analysis and machine learning. If we are looking to build a data analysis app within Streamlit that uses data containing location information, one of the first visualisations we may want to consider adding is a map. Having an interactive map within our app allows us to visualise where the data poin...
Creating Geospatial Heatmaps With Plotly Express MapBox and Folium in Python - Data Visualisation
Переглядів 4,8 тис.Рік тому
Heatmaps, also known as Density Maps, are data visualisations that display the spatial distribution of a variable across a geographic area. They can be great tools for visualising and identifying trends, supporting decision-making, detecting outliers, and creating compelling visualisations for presentations. There are several mapping Python libraries available; however, two very popular and eas...
Pandas Dataframes - Data Aggregation Using Geological Lithology Data
Переглядів 518Рік тому
Using data aggregation techniques can help us transform an overwhelming and almost incomprehensible numeric dataset into something that is easily digestible and much more reader-friendly. The process of data aggregation involves summarising multiple data points into single metrics that can be used to provide a high-level overview of the data. One way we can apply this process within petrophysic...
How To Make Your Matplotlib Bar Charts Stand Out
Переглядів 2,4 тис.Рік тому
Bar charts are a commonly used data visualisation tool where categorical features are represented by bars of varying lengths/heights. The height or length of the bar corresponds to the value being represented for that category. Bar charts can easily be created in matplotlib. However, the matplotlib library is often regarded as a library that produces unexciting charts and can be challenging to ...
PyGWalker for Exploratory Data Analysis In Jupyter Notebooks
Переглядів 13 тис.Рік тому
PyGWalker (Python binding of Graphic Walker) is a python library that can help speed up the data analysis and visualisation workflow directly within a Jupyter notebook. It leverages the power of interactivity by providing an interface similar to the popular data analytics software called Tableau. This video will explore some of the features of PyGWalker using one of my favourite well log data s...
Isolation Forest for Outlier Detection within Python
Переглядів 31 тис.2 роки тому
Isolation Forest is a popular unsupervised machine learning algorithm for detecting anomalies (outliers) within datasets. Anomaly detection is a crucial part of any machine learning and data science workflow. Erroneous values that are not identified early on can result in inaccurate predictions from machine learning models, and therefore impact the interpretation of those results. The code and ...
Working With Well Survey Data in Python Using wellpathpy
Переглядів 2,7 тис.2 роки тому
Depth is an essential measurement when working with subsurface data. It is used to tie multiple sets of data to a single reference. There are numerous depth references used to identify a position within the subsurface. These include Measured Depth (MD), True Vertical Depth (TVD), and True Vertical Depth Subsea (TVDSS). When wells are drilled, survey measurements are often taken to ensure that t...
Combining Well Log Data With Formation Tops in Python for Petrophysics
Переглядів 3 тис.2 роки тому
When working with well log data we often have to deal with different data sources and sampling rates. One area where we commonly experience this is with well log data and formation tops. Formation top data contains a formation name along with a single depth reference, whereas well log data is regularly depth sampled. In this video I will go over the process on how to create a master dataframe w...
Random Forest Regression Machine Learning - Well Log Prediction for Petrophysics
Переглядів 4,4 тис.2 роки тому
Random forest is a very popular machine learning algorithm that can be used for both classification and regression. Within this tutorial, we will see how we can use the Random Forest algorithm to predict a continuous output using well logs as an example. ⭐️ If you haven't already, make sure you subscribe to the channel: ua-cam.com/channels/n1O_4_ApzbYwrsUdRoMmOg.html ▼ SUPPORT THE CHANNEL ▼ ☕️ ...
Porosity Permeability (Poro-Perm) Log-Linear Regression in Python - Petrophysics
Переглядів 3,1 тис.2 роки тому
Permeability is one of the key reservoir properties we as petrophysicists attempt to derive as part of our workflow. As well logging tools do not provide a direct measurement for permeability, we have to infer it through relationships with core data from the same field or well, from empirically derived equations or NMR data. One common method of deriving permeability is to plot core porosity (o...
Seaborn Heatmap - How to Visualise Correlations and Data With Heatmaps in Python
Переглядів 40 тис.2 роки тому
Heatmaps are a great way to visualise tabular data. They allow us to identify trends, spot outliers and understand the range of our data. In this week's video, we are going to see how to visualise data using a Seaborn Heatmap. ⭐️ If you haven't already, make sure you subscribe to the channel: ua-cam.com/channels/n1O_4_ApzbYwrsUdRoMmOg.html ▼ SUPPORT THE CHANNEL ▼ ☕️ BUY ME A COFFEE: www.buymeac...
Seaborn Pairplot - How to Create a Pairplot for Data Visualization in Python Using Seaborn
Переглядів 7 тис.2 роки тому
Seaborn Pairplot - How to Create a Pairplot for Data Visualization in Python Using Seaborn
Documenting Your Code with Python - Overview of Comments, Docstrings and Type Hints
Переглядів 2,6 тис.2 роки тому
Documenting Your Code with Python - Overview of Comments, Docstrings and Type Hints
Random Forest Machine Learning Tutorial in Python for Lithology Prediction - Includes Overview
Переглядів 6 тис.2 роки тому
Random Forest Machine Learning Tutorial in Python for Lithology Prediction - Includes Overview
New Streamlit Multi-Page Web Apps - Converting Existing Apps
Переглядів 12 тис.2 роки тому
New Streamlit Multi-Page Web Apps - Converting Existing Apps
Creating Multiple Subplots the Easy Way - Seaborn FacetGrid Introduction
Переглядів 6 тис.2 роки тому
Creating Multiple Subplots the Easy Way - Seaborn FacetGrid Introduction
Seaborn Relplot - Create Scatter Plots and Line Plots in Python
Переглядів 1,8 тис.2 роки тому
Seaborn Relplot - Create Scatter Plots and Line Plots in Python
Create Semi Log Scatter Plots in Python - Display Data on a Logarithmic Axis in Seaborn
Переглядів 2,4 тис.2 роки тому
Create Semi Log Scatter Plots in Python - Display Data on a Logarithmic Axis in Seaborn
Adding Interactive Plotly Charts to a Streamlit App
Переглядів 24 тис.2 роки тому
Adding Interactive Plotly Charts to a Streamlit App
Creating Multi-Page Streamlit Apps | Python Streamlit Series Part 2
Переглядів 13 тис.2 роки тому
Creating Multi-Page Streamlit Apps | Python Streamlit Series Part 2
Getting Started With Streamlit in Python
Переглядів 30 тис.2 роки тому
Getting Started With Streamlit in Python
Fast and Effective Exploratory Data Analysis (EDA) With Python and Pandas Profiling for Data Science
Переглядів 7 тис.2 роки тому
Fast and Effective Exploratory Data Analysis (EDA) With Python and Pandas Profiling for Data Science
Data Quality Considerations for Petrophysical Machine Learning Models
Переглядів 2 тис.2 роки тому
Data Quality Considerations for Petrophysical Machine Learning Models
CSV to LAS with Python and LASIO for Well Log Data
Переглядів 3,6 тис.2 роки тому
CSV to LAS with Python and LASIO for Well Log Data
Free Well Logging & Petrophysics Datasets for Data Science and Machine Learning
Переглядів 7 тис.2 роки тому
Free Well Logging & Petrophysics Datasets for Data Science and Machine Learning
6 Essential Python Libraries for Well Log Data
Переглядів 3,4 тис.2 роки тому
6 Essential Python Libraries for Well Log Data

КОМЕНТАРІ

  • @joguns8257
    @joguns8257 10 годин тому

    Superb teaching

  • @Mgmt
    @Mgmt День тому

    This video really saved my bacon when I had a short deadline and a .LAS file sent my way unexpectedly. Thanks for this valuable well-presented knowledge.

  • @salmansiddiqui9502
    @salmansiddiqui9502 6 днів тому

    Thank you. I found this video insightful and very impressive.

  • @elife9508
    @elife9508 14 днів тому

    What an amazing tutorial! Thank you!

  • @gustavoandrespinzonlandaza5015
    @gustavoandrespinzonlandaza5015 16 днів тому

    Hi Andy, I am trying to install Lasio but I got an error. ModuleNotFoundError: No module named 'lasio'

    • @AndyMcDonald42
      @AndyMcDonald42 6 днів тому

      Lasio can be installed by using “pip install lasio” in a command prompt. Then you should be able to import it into your code

  • @rokaskrisciunas6015
    @rokaskrisciunas6015 18 днів тому

    Why are they useful? Do we know what qualities does these clusters have? Are they meaningful if we have lots of variables?

  • @Joud3011
    @Joud3011 21 день тому

    I'm using k-means for the first time. my dataset has more than 400,000 rows and 11 columns, I run the k-means for k= 3, 5, 7, 9, and 10. it took more than 3 hours and still no output. is that normal?

  • @deividbejarano2386
    @deividbejarano2386 24 дні тому

    Where is the meaning the columns of Data?

  • @I_am_a_dataanaylst
    @I_am_a_dataanaylst 27 днів тому

    Can I use anaconda to code this

  • @pinkysaikia6262
    @pinkysaikia6262 Місяць тому

    Very nice explanation.

  • @1i1hawk1i1
    @1i1hawk1i1 Місяць тому

    Is there any way for you to automate spike removal in log data?

  • @manas4
    @manas4 Місяць тому

    Thank you!

  • @Leopar525
    @Leopar525 Місяць тому

    You’re a star. Thank you. Subscribed… very well explained

  • @chromepunk-mm5up
    @chromepunk-mm5up Місяць тому

    criminally underrated channel! Your explanations are superb

  • @RolandoLopezNieto
    @RolandoLopezNieto Місяць тому

    Great video

  • @TheWraithkiller
    @TheWraithkiller Місяць тому

    Has anyone had an issue with In[9] when running from Jupyter Lab? Have fully checked for any spelling errors. The assignment and new columns seems to try to access. KeyError: "None of [Index(['RHOB_T', 'GR_T'. 'NPHI_T', 'PEF_T', 'DTC_T'], dtype='object')] are in the [columns]"

  • @akande88
    @akande88 2 місяці тому

    great tutorial, thank you.

  • @joeyc666
    @joeyc666 2 місяці тому

    I wonder if something has broken since this video has come out. I am trying PyGwalker for the first time When I go `pyg.walk(df)` The resulting sell hangs at "Loading Graphical Walker UI" and doesn't go anywhere This happens on Firefox and Chrome. Any ideas how to resolve?

    • @joeyc666
      @joeyc666 2 місяці тому

      Interesting, I got it working by uninstalling jupyterlab and then installing notebook 🤷🏾‍♀ I'll leave this here in case it helps anyone

  • @halamohammed1899
    @halamohammed1899 2 місяці тому

    Very nice work but I need to export the values of the predicted log to upload it on the system as a Las file

  • @Samuel-br6lr
    @Samuel-br6lr 2 місяці тому

    Hi, the st.session_state only worked to allow other pages have access to that file, but the main page refreshes and lose that data still. Any comments on this?

  • @789Moonlight
    @789Moonlight 2 місяці тому

    hi. thank you for this wonderful tutorial. where do you recommend choosing data sets from?

  • @NH-xl6du
    @NH-xl6du 2 місяці тому

    Great tutorial! This was verry helpful, thanks

  • @bassam7627
    @bassam7627 2 місяці тому

    I am a reservoir engineer interested in coding. I have just started my career with one of the biggest oil companies in the world. Trust me when I say this, I have just found your channel and it feels like I have found a treasure. I haven't watched any of your videos yet, but I am just thankful enough that you are paving the way for code integration in the oil and gas industry. Cheers.

  • @lschiavetti
    @lschiavetti 2 місяці тому

    nice!

  • @AndyMcDonald42
    @AndyMcDonald42 3 місяці тому

    The code and data for this video can be found as part of my Petrophysics & Python Series on Github: github.com/andymcdgeo/Petrophysics-Python-Series Direct Notebook Link: github.com/andymcdgeo/Petrophysics-Python-Series/blob/master/33%20-%20Auto%20Outlier%20Detection%20-%20Isolation%20Forest.ipynb Data Folder: github.com/andymcdgeo/Petrophysics-Python-Series/tree/master/Data

  • @johnspivack
    @johnspivack 3 місяці тому

    This guy talks way too fast and isn't clear. He may be brilliant, but i don't think he should be an educator.

  • @nilanjanchatterjee474
    @nilanjanchatterjee474 3 місяці тому

    My data tab is showing no values after writing pyg.walk(dataframe_name)... can someone help please?

  • @abinash01
    @abinash01 3 місяці тому

    Thank you! and appreciate your content.

  • @vitorribeirosa
    @vitorribeirosa 3 місяці тому

    Thank you for sharing.

  • @MegaChilisauce
    @MegaChilisauce 3 місяці тому

    Why is the pages directory not located inside the src directory?

    • @AndyMcDonald42
      @AndyMcDonald42 3 місяці тому

      I believe it needs to be in the same directory as the main Streamlit app.py file for it to work and for the pages to be picked up automatically. I guess you could move the app.py file and the pages directory into the src directory and run it all from there. There are a number of ways the structure could be setup. This is the one I found that works for me just now. 🙂

  • @ColumbiaBasinJim
    @ColumbiaBasinJim 3 місяці тому

    Thanks!

  • @Murilo-w8e
    @Murilo-w8e 3 місяці тому

    helped a lot, thanks

  • @BabiryeShakira-g4s
    @BabiryeShakira-g4s 3 місяці тому

    Is there a way I can get this exact dataset?

    • @AndyMcDonald42
      @AndyMcDonald42 3 місяці тому

      The code and data for this video can be found as part of my Petrophysics & Python Series on Github: github.com/andymcdgeo/Petrophysics-Python-Series Direct Notebook Link: github.com/andymcdgeo/Petrophysics-Python-Series/blob/master/33%20-%20Auto%20Outlier%20Detection%20-%20Isolation%20Forest.ipynb Data Folder: github.com/andymcdgeo/Petrophysics-Python-Series/tree/master/Data

  • @naufallhabib
    @naufallhabib 3 місяці тому

    Thanks for sharing sir Andy, i got an issue with the well.plot command = not showing the curve plot. The output is : Axes(0.125,0.11;0.775x0.77). Hope you can answer it while I'm finding the solution as well. 🙏🙏

  • @dougclendening5896
    @dougclendening5896 4 місяці тому

    I haven't found a single video that basically explains what lines 8, 9 and 10. Some videos talk about trees but are too generic and don't give real examples in the nodes. Videos like this shows the code but don't talk about how any of this is related to an actual tree or set of logic. How the heck are we getting there? Also, I don't think you showed an example row of data. Are all of the data numbers?

  • @HalkawtMawlood
    @HalkawtMawlood 4 місяці тому

    There is one issue with PyGwalker in Python and R you can't count of the city names in a chart meanwhile in Powerbi you can do it easily to see the count of each city. Is there any solution?

  • @marksponge9073
    @marksponge9073 4 місяці тому

    Here in 2024. This saved me a huge amount of time. Thank you so much.

  • @m12652
    @m12652 4 місяці тому

    Wow... i just installed pygwalker and now i can't run pandas.... i just get a "partially initialized module 'pandas' has no attribute _pandas-parser_capi ( most likely dues to a circular import)

  • @juliab.4325
    @juliab.4325 4 місяці тому

    Thank you was very helpful🙏🏼

  • @nekohanhanrin
    @nekohanhanrin 4 місяці тому

    Thanks buddy, your lesson helped me a lot

  • @themie_
    @themie_ 4 місяці тому

    Heatmaps for correlations: starts at 3:39

  • @tanishqrastogi1011
    @tanishqrastogi1011 4 місяці тому

    do we only use 2 features of a data while using k means clustering or did you do it for visualization purposes?

  • @youorgan2361
    @youorgan2361 5 місяців тому

    You are a hero!

  • @MonuSaraswati
    @MonuSaraswati 5 місяців тому

    Hi Andy - Can you please share this dataset ? I have not been able to find it online

  • @hazamonzo
    @hazamonzo 5 місяців тому

    Thanks Andy. Nice series of videos that certainly helped me get started with Streamlit. Have you considered a video of adding the ability to trigger events from plotly charts? For example, clicking and item on a plotly chart to filter a dataframe that powers another plotly chart? This is something I think would be useful to understand to create truly interactive dashboards with Streamlit

    • @AndyMcDonald42
      @AndyMcDonald42 5 місяців тому

      Thanks. It is something I have thought about and I’m hoping to share a video on it in the future

    • @hazamonzo
      @hazamonzo 5 місяців тому

      @@AndyMcDonald42 awesome thank you!

  • @KautsarRamadhana
    @KautsarRamadhana 5 місяців тому

    baik bgt pa membantu ujian saya

  • @fastisslow6177
    @fastisslow6177 5 місяців тому

    nice explanation👍

  • @JeanLouisKali
    @JeanLouisKali 5 місяців тому

    Great presentation. The clearest I've seen on UA-cam, to date. 👍

  • @fiqihnurhadi1266
    @fiqihnurhadi1266 5 місяців тому

    sir, how to clustering data 2d with size(512,512), please help me sir tq