Skip to main content

Librería para leer, validar y procesar datos de ensayos geológicos (assay) de sondajes mineros.

Project description

assaycalc

Herramientas en Python para el procesamiento y validación de datos de assay geológico (sondajes de exploración minera).

Instalación

pip install assaycalc

Uso rápido

from assaycalc import leer_csv_assay, validar_assay, componer_assay, guardar_csv

COLUMNAS_LEY = ["Cu_pct"]  # Agrega aquí cualquier otra ley: "Au_gpt", "Ag_gpt", etc.

# 1. Leer datos de assay desde un CSV
df = leer_csv_assay("assay_original.csv", columnas_ley=COLUMNAS_LEY)

# 2. Validar integridad de los datos
validar_assay(df, columnas_ley=COLUMNAS_LEY)

# 3. Generar compósitos de 2 metros ponderados por cada ley indicada
df_compositos = componer_assay(df, longitud_composito=2.0, columnas_ley=COLUMNAS_LEY)

# 4. Guardar el resultado (usa separador=";" si vas a abrirlo directo en Excel en español)
guardar_csv(df_compositos, "assay_compuesto.csv")

Formato de entrada esperado

El CSV debe contener, como mínimo, estas columnas:

Columna Descripción
hole_id Identificador del sondaje
from Profundidad inicial del intervalo (m)
to Profundidad final del intervalo (m)

Además, debe incluir una o más columnas de ley (por ejemplo Cu_pct, Au_gpt, Ag_gpt), indicadas explícitamente mediante el parámetro columnas_ley en cada función.

Validaciones incluidas

validar_assay() verifica automáticamente:

  • Que no existan hole_id vacíos
  • Que todos los intervalos tengan from < to
  • Que no existan leyes negativas en ninguna de las columnas indicadas en columnas_ley
  • Que no existan intervalos solapados dentro de un mismo sondaje

Si alguna validación falla, se lanza un ValueError con el detalle del problema.

Compositado

componer_assay() divide cada sondaje en intervalos de longitud fija (por ejemplo, cada 2 metros) y calcula, para cada ley indicada en columnas_ley, el promedio ponderado por la longitud de cada intervalo original que cae dentro del compósito.

Exportar resultados

guardar_csv() acepta parámetros opcionales separador y codificacion. Por defecto usa coma (,) como separador, el estándar universal de CSV. Si vas a abrir el archivo con doble clic en Excel configurado en español, usa separador=";" para evitar que todo aparezca en una sola columna.

Licencia

MIT — ver LICENSE para más detalles.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

assaycalc-0.2.0.1.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

assaycalc-0.2.0.1-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

Details for the file assaycalc-0.2.0.1.tar.gz.

File metadata

  • Download URL: assaycalc-0.2.0.1.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for assaycalc-0.2.0.1.tar.gz
Algorithm Hash digest
SHA256 b699bec6222aa4c5db693dbb8f9be1b6f27e62cff929c995eb070b5861620bf3
MD5 172fdb6799a893273b3304acd05541f6
BLAKE2b-256 017ec057edf241edd23f039b1c5d5ea3d17e7c0606876f5c4c5099da13f09d9b

See more details on using hashes here.

File details

Details for the file assaycalc-0.2.0.1-py3-none-any.whl.

File metadata

  • Download URL: assaycalc-0.2.0.1-py3-none-any.whl
  • Upload date:
  • Size: 5.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for assaycalc-0.2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4311144224b2e4ad6b041007416f7fd158c3d3d8450c0b0e04812bd0c890a733
MD5 d5cbfe2b6a9bccf3b8db2dd76f7c9ec3
BLAKE2b-256 12bd73035f1b339797befc465b9863c2399939d90bfd2ac70563b2c3e8fdda95

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page