When working with well log data in a pandas DataFrame, it is very likely that you’ll want to explore your data in the context of geologic zones. By adding zone labels to each row of your DataFrame, it is possible to use some of the fun and powerful features of pandas, like groupby() for stats aggregations. And while the process for adding tops to a DataFrame is not obvious, it is simple.
What follows is a mostly unedited re-submission of a post I made in 2006 on the now-defunct Assistants-in-France forum. Indeed that year I went through the ordeal of buying a car in France. At the time, as far as I could tell there was no guide like this already out there. By now there may very well be dozens of walkthroughs of the process on the internet. Some of the information in this post is useful, and some of it quaint (“calling cards”!
Introduction A caliper log records the borehole size. When a logging tool is pulled up the well, a caplier arm opens or closes as it encounters zones of washout, mudcake, or zones of stable hole condition. If there is abundant washout or mudcake, many logging tools (bulk density, neutron, etc.) do not collect valid petrophysical data. Often a petrophysicist will use some cutoff (2.5 inches of washout, maybe) to determine whether they can use the data over that interval in their analysis or if they should instead throw it out.