drillcore_transformations.usage module

Module with all usage methods i.e. for converting data files and manipulating the config.

exception drillcore_transformations.usage.ColumnException

Bases: Exception

Raise when there are errors with the columns of your data.

These can be related to not recognizing the column or if multiple columns match identifiers in config.ini.

Most issues can be fixed by checking the config.ini config file and adding your data file column names as identifiers or by removing identical identifiers.

drillcore_transformations.usage.add_column_name(header, base_column, name)

Add a column name to recognize measurement type.

E.g. if your alpha measurements are in a column that is named “alpha_measurements” you can add it to the config.ini file with:

>>> add_column_name(_MEASUREMENTS, _ALPHA, "alpha_measurements")
True

If the inputted column name is already in the config file, this will be printed out and config will not be changed.

Parameters
  • header (str) – You may add new column names to the measurements file and to the file containing measurement depth information.

  • base_column (str) – Which type of measurement is the column name. Base types for measurements are: “alpha” “beta” “gamma” “measurement_depth” Base types for depths are: “depth” Base types for borehole are: “borehole_trend” “borehole_plunge”

  • name (str) – Name of the new column you want to add.

drillcore_transformations.usage.apply_conventions(df, col_dict)

Apply conventions from the config.ini file to given DataFrame.

col_dict is used to identify the correct columns.

Recognized conventions are: “negative” “none”

Parameters
  • df (pandas.DataFrame) – DataFrame

  • col_dict (dict) – Dictionary with identifiers for measurement data.

Returns

DataFrame with applied conventions in new columns. Modified col_dict.

Return type

tuple[pandas.DataFrame, dict]

drillcore_transformations.usage.apply_conventions_manual(df, col_dict, convention_dict)

Apply conventions from manual input to given DataFrame.

Creates new columns with conventioned data. col_dict is used to identify the correct columns.

Recognized conventions are: “negative” “none”

Parameters
  • df (pandas.DataFrame) – DataFrame

  • col_dict (dict) – Dictionary with identifiers for measurement data.

  • convention_dict (dict) – Dictionary with conventions

Returns

DataFrame with applied conventions in new columns.

Return type

pandas.DataFrame

drillcore_transformations.usage.change_conventions(convention_dict)

Change config.ini conventions by passing a dictionary.

Parameters

convention_dict (dict) – Dictionary with new conventions.

Returns

None if successful and False if key was not recognized or convention was not recognized or dictionary was invalid.

Return type

None | bool

drillcore_transformations.usage.check_config(method)

Check config.

drillcore_transformations.usage.convention_testing_csv(filename, with_gamma=False, output=None, visualize=False, img_dir=None)

Test multitudes of conventions on data in a .csv file.

TODO: Currently a crude, alpha, method, desperately needs improving and specifying.

Parameters
  • filename (str) – .csv file with data

  • with_gamma (bool) – If data contains gamma measurements

  • output (str) – output file with tested conventions

  • visualize (bool) – Whether to visualize each calculation (not worth it unless only 1 row of data)

  • img_dir (str) – Directory to save visualization images

drillcore_transformations.usage.find_config()

Return config.ini file path.

Returns

config.ini file path

Return type

Path

drillcore_transformations.usage.get_config_identifiers()

Get config identifiers.

drillcore_transformations.usage.initialize_config()

Create a configfile with default names for alpha, beta, etc.

Filename will be config.ini. Manual editing of this file is allowed but editing methods are also present for adding column names.

Will overwrite if needed.

drillcore_transformations.usage.parse_column(*args, **kwargs)
drillcore_transformations.usage.parse_columns_one_file(*args, **kwargs)
drillcore_transformations.usage.parse_columns_two_files(*args, **kwargs)
drillcore_transformations.usage.remove_column_name(header, base_column, name)

Remove a column name from config.ini.

>>> remove_column_name(_MEASUREMENTS, _ALPHA, "alpha_measurements")
True
Parameters
  • header (str) – Input the the header in which under the name is.

  • base_column (str) – Which type of measurement is the column name. Base types for measurements are: “alpha” “beta” “gamma” “measurement_depth” Base types for depths are: “depth” Base types for borehole are: “borehole_trend” “borehole_plunge”

  • name (str) – Name of the new column you want to remove.

drillcore_transformations.usage.round_outputs(number)

Round number.

drillcore_transformations.usage.save_config(config)

Save config.ini.

drillcore_transformations.usage.transform_csv(filename, with_gamma=False, output=None)

Transform data from a given .csv file.

File must have columns with alpha and beta measurements and borehole trend and plunge.

Saves new .csv file in the given output path.

Parameters
  • filename (str) – Path to file for reading.

  • output (str) – Path for output file. Will default filename+_transformed.csv.

  • with_gamma (bool) – Do gamma calculations or not

drillcore_transformations.usage.transform_csv_two_files(measurement_filename, depth_filename, with_gamma, output=None)

Transform with two csv files.

drillcore_transformations.usage.transform_excel(measurement_filename, with_gamma, output=None)

Transform excel file.

drillcore_transformations.usage.transform_excel_two_files(measurement_filename, depth_filename, with_gamma, output)

Transform with two excel files.

drillcore_transformations.usage.transform_with_two_files(measurements, depth, with_gamma, output=None)

Transform with two loaded DataFrames.