An Interactive 5-Day Training Course
Python for Geoscientists
Practical Python for Subsurface Geoscience Work
Secure your spot now!
Duration
5 Days
Price
$ 2,000
Starting From
05 Jul 2027
Home Geology and Geoscience Python for Geoscientists
Python for Geoscientists
Have Questions ?
Python for Geoscientists - GG-PY-PEA27
| Code | Date | Time | Duration | Location | Currency | Early Bird Fee Per Person |
|---|---|---|---|---|---|---|
| GG-PY-PEA27 | 05 - 09 Jul 2027 | 10 AM CST | 4 Hours Per Day |
Online |
USD |
2000 |
Need this for a group? We deliver the same course in-house — face-to-face at your location or online — tailored to your assets and team level. Contact info@peassociations.com
Boost your team's skills and your budget! Enjoy group discounts for collaborative learning. Send an inquiry to info@peassociations.com.
Python for Geoscientists
This training covers Python programming for geoscience applications. It works through language fundamentals, numerical and array computation, data handling and tabular analysis, reading subsurface data formats, plotting and visualisation, well log processing, map and grid handling, statistical analysis, workflow automation and the practical construction of maintainable geoscience code.
Description
A great deal of geoscience time is spent on repetitive data handling: reformatting log files, extracting values from reports, building the same plot for forty wells, checking data consistency and transferring results between applications. Each of these can be automated, and the automation takes less time than doing the task twice by hand. Python is the language the subsurface community has settled on for this work, and the libraries for handling well logs, grids, seismic and map data are mature.
This training covers Python for geoscience work from the beginning. Language fundamentals are established first, covering variables, types, control flow, functions and the parts of the language actually needed, without unnecessary computer science. Numerical and array computation follow, covering array operations and why they replace loops. Data handling and tabular analysis are then developed, covering the manipulation, joining, grouping and cleaning of tabular data. Reading subsurface data formats follows, covering log, grid, seismic and database formats. Plotting and visualisation are then addressed. Well log processing follows as a worked application. Map and grid handling are then developed. Statistical analysis follows. Workflow automation is addressed. The training closes with the construction of maintainable code.
The first useful program a geoscientist writes usually reads a directory of files. A folder of log files, core analysis reports or production exports in a consistent format can be read, checked, combined and summarised in twenty lines, and the same twenty lines work whether there are five files or five hundred. This is the most common and most valuable category of geoscience automation, it requires very little of the language, and it is where a beginner should start rather than with a complex analysis.
Array operations replace loops and the difference is substantial. Applying a calculation to every depth in a log by looping through the values works and is slow; applying it to the whole array at once is one line and runs orders of magnitude faster. The same applies to grids, to map arrays and to seismic volumes. Learning to think in whole arrays rather than in element-by-element loops is the main conceptual shift from spreadsheet thinking, and it is what makes Python practical for large data.
Reproducibility is the quiet benefit and often the larger one. A calculation performed in a spreadsheet by a sequence of manual steps cannot be reliably repeated, audited or applied to a revised data set. The same calculation as a script can be rerun on new data, reviewed by a colleague, version controlled and reused next year, and the inputs and steps are explicit. For work that feeds a decision or a reserves estimate, that difference matters more than the time saved.
Finally, code written for one task will be read again, including by its author. A script written quickly, with no comments, variables named x and tmp and the data path hard-coded, will be incomprehensible in six months and unusable by anyone else. A small amount of discipline, meaningful names, a few comments stating intent, functions for repeated operations and paths and parameters at the top, costs minutes and converts a one-off script into something reusable. This is the difference between a geoscientist who writes code and one whose code is used by the team.
By the end of this training, participants will be able to:
- Write Python programs using the language fundamentals
- Apply array computation to geoscience data
- Manipulate, join, group and clean tabular data
- Read and write common subsurface data formats
- Produce publication quality plots and well log displays
- Process well log data including calculation and quality control
- Handle maps, grids and spatial data
- Apply statistical analysis to geoscience data sets
- Automate repetitive workflows across many files
- Write code that is readable, reusable and reproducible
The training is practical throughout, with participants writing code from the first session on real subsurface data. Exercises progress from reading a single file to automating a complete multi-well workflow. Participants bring or are supplied with a repetitive task from their own work and automate it during the course, which becomes the main deliverable.
Organisations sending participants to this training will:
- Automate repetitive geoscience data handling
- Improve reproducibility of technical calculations
- Reduce time spent on data reformatting and transfer
- Apply consistent processing across large data sets
- Build internal capability for custom workflows
- Reduce dependence on manual spreadsheet work
Participants will:
- Write working Python programs
- Read and process subsurface data formats
- Automate their own repetitive tasks
- Produce reproducible analyses
- Build and share reusable code
- Work effectively with technical data at scale
- Geoscientists with no programming experience
- Petrophysicists processing log data
- Reservoir engineers handling production data
- Geophysicists working with seismic and grid data
- Data analysts supporting subsurface teams
- Technical staff with repetitive data tasks
- Graduate geoscientists building technical skills
Module 1 - Language Fundamentals
- Installation and working environment
- Notebooks and scripts
- Variables and basic types
- Strings and their manipulation
- Lists, tuples and dictionaries
- Conditional statements
- Loops and iteration
- Functions and arguments
- Modules and imports
- Error messages and debugging
- Reading documentation
- Good practice from the start
Module 2 - Array Computation
- Arrays and their advantages
- Array creation and shapes
- Indexing and slicing
- Vectorised operations
- Replacing loops with array operations
- Broadcasting rules
- Mathematical functions on arrays
- Boolean masking and filtering
- Missing data and null handling
- Aggregation along axes
- Multidimensional arrays for grids and volumes
- Performance considerations
Module 3 - Tabular Data
- Data frames and their structure
- Reading from text, CSV and Excel files
- Inspecting and summarising data
- Selecting rows and columns
- Filtering and conditional selection
- Adding and transforming columns
- Grouping and aggregation
- Joining and merging data sets
- Pivoting and reshaping
- Handling missing and bad values
- Date and depth indexing
- Writing results to files
Module 4 - Subsurface Data Formats
- LAS log file reading and writing
- DLIS and other log formats
- Well header and deviation data
- Core analysis data import
- Production data formats
- Grid formats for maps and models
- Zmap, GRD and other grid formats
- SEG-Y seismic data reading
- Shapefiles and spatial formats
- Database connections
- Reading directories of files
- Format conversion workflows
Module 5 - Plotting and Visualisation
- Basic plot types
- Line, scatter and histogram plots
- Figure and axis control
- Multiple panels and layouts
- Well log track displays
- Depth axis conventions
- Cross plots with colour coding
- Map and contour plotting
- Section and fence displays
- Stereonets and rose diagrams
- Saving publication quality figures
- Interactive plotting options
Module 6 - Well Log Processing
- Loading and quality controlling log data
- Depth merging between runs
- Resampling and interpolation
- Unit conversion and normalisation
- Petrophysical calculations
- Shale volume and porosity computation
- Saturation calculation
- Cut-off application and net calculation
- Zone averaging and summary tables
- Multi-well batch processing
- Quality control flagging and reporting
- Exporting processed logs
Module 7 - Maps, Grids and Statistics
- Grid handling and arithmetic
- Grid interpolation and resampling
- Contouring and surface operations
- Volume calculation from grids
- Coordinate systems and transformation
- Spatial data operations
- Descriptive statistics
- Distribution fitting
- Correlation and regression
- Monte Carlo simulation
- Variogram calculation
- Statistical plotting
Module 8 - Automation and Maintainable Code
- Identifying tasks worth automating
- Script structure and organisation
- Parameters and configuration at the top
- Functions for repeated operations
- Naming and commenting conventions
- Handling errors gracefully
- Logging and progress reporting
- Testing code against known results
- Version control basics
- Sharing code within a team
- Documentation for users
- Maintaining code over time
Upon successful completion of this training course, delegates will be awarded an official Certificate of Completion issued by the Petroleum Engineers Association (PEA), an ISO 9001:2015 certified training organization. The certificate carries 10 Credits and formally records the total learning hours completed.
Each certificate is signed by the Course Facilitator and the CEO of the Petroleum Engineers Association, and serves as verifiable proof of professional training that delegates can present to employers and professional bodies worldwide.
Frequently Asked Questions
All course bookings made through PEA are strictly non-refundable. By registering for a course, you acknowledge and accept that all fees are payable in full and are not subject to refund under any circumstances, including changes in personal or professional commitments or partial attendance.
PEA reserves the right to make reasonable adjustments to course content, trainers, or schedules where necessary, without entitling delegates to a refund. Comprehensive details of each course — including objectives, target audience, and content — are clearly outlined before enrolment, and it is the responsibility of the delegate to ensure the course's suitability prior to booking.
For any inquiries related to cancellations or bookings, please contact our support team, who will be happy to assist you.