Introduction to Python for Mineral Resource Estimation


Course Brief

Python is a general-purpose coding language that is widely used in most industries worldwide.  There is a huge community of users and a large number of modules for specific tasks available in the public domain.

  1. Data Manipulation: Python is an excellent language for data manipulation, which is a critical step in mineral resource estimation. Python has a vast array of libraries for data manipulation, including Pandas, Numpy, and Scipy. These libraries enable users to easily manipulate and analyze large volumes of data quickly and efficiently.
  2. Visualization: Python has a wide range of data visualization tools that can help users visualize and interpret their data. These tools can help users identify trends, patterns, and anomalies in the data, which can be invaluable in mineral resource estimation.
  3. Statistical Analysis: Python has powerful statistical analysis capabilities that can be used to estimate mineral resources. Python can perform a wide range of statistical analyses, including regression analysis, hypothesis testing, and analysis of variance (ANOVA).
  4. Machine Learning: Python has become the go-to language for machine learning, which can be used to help estimate mineral resources. Machine learning algorithms can help identify patterns in the data and make predictions about future mineral deposits.
  5. Open-Source: Python is an open-source programming language, which means that it is free to use and has a vast community of developers contributing to its development. This makes it easy to find help and resources online, which can be invaluable when working on complex mineral resource estimation projects.

There are many tasks in the geology, mining and mineral resources and reserve workflows that need to be done outside of the commercial modelling software.  Some of these are either time-consuming and repetitive and are ideal candidates for automation.  Some tools, such as spreadsheets are inefficient or slow.  Python scripting and data analysis packages can speed up many processes.

Python is a useful extension to most modern modelling packages.  Some such as Vulcan and Micromine have modules for Python scripting included others such as Datamine can be accessed via Python. When used outside of the software it can be used to write scripts that incorporate processes from different commercial software in the same script. This is much easier than having to learn each software-specific scripting language.

Join us for an introduction to Python scripting and learn how it can boost productivity in geological modelling and mineral resource evaluation.

This three-day course covers

  • Intro to Python community and environment, IDE’s
    • Variables, Objects, Datatypes (lists, tuples, series, arrays)
    • DataFrames how to manipulate tables of data
    • Basic mathematical/ statistical calculations
    • Conditionals, Iterations and Loops
    • Read/write/output
    • Conditionals, Iterations and Loops
  • Data Visualization
    • Basic built-in functionality
    • Custom figures


  • Intro to machine learning with Python (domaining)
    • Cluster analysis
    • Decision trees
    • Linear regression
  • Syntax and how to define the logic of the argument
  • How to search on Google
  • Read the documentation in the packages
  • Using Python with commercial modelling software and miscellaneous tools
  • Practical exercises

Course Materials, computer specifications

  • A laptop is required for the training.
  • The computer needs a Windows operating system and an external mouse to navigate the software.
  • WiFI module for connection to the internet
  • Minimum specifications for computers can be found here:  decent i7(or better) or equivalent processor, 16GB RAM or better
  • The usual office software
  • Software is open source and training data will be provided.


  • The course is not advanced programming or Mineral Resource Estimation course.
  • Although some coding, scripting or macro writing experience is helpful, no experience is necessary.
  • Course content is suitable for geologists, mining engineers and Mineral Resource/Reserve specialists.