Skip to main content

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.

Trabajando con Collar (ubicación de sondajes)

Además de Assay, assaycalc permite leer y validar la tabla Collar, que contiene la ubicación de cada sondaje.

from assaycalc import leer_csv_collar, validar_collar, validar_integridad_referencial

# 1. Leer datos de collar desde un CSV
df_collar = leer_csv_collar("collar.csv")

# 2. Validar integridad de collar (hole_id sin vacíos ni duplicados)
validar_collar(df_collar)

# 3. Verificar que todo hole_id de assay tenga su collar correspondiente
validar_integridad_referencial(df_collar, df)

Formato de entrada esperado (Collar)

Columna Descripción
hole_id Identificador del sondaje (único)
x Coordenada X del collar
y Coordenada Y del collar
z Coordenada Z (elevación) del collar

Validaciones incluidas (Collar)

validar_collar() verifica que no existan hole_id vacíos ni duplicados (cada sondaje debe tener una única fila de collar).

validar_integridad_referencial() verifica que todo hole_id presente en Assay exista también en Collar, evitando sondajes "huérfanos" sin ubicación conocida.

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.

Metadata

Release files for assaycalc 0.2.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for assaycalc 0.2.1.1
File Size Uploaded
assaycalc-0.2.1.1.tar.gz 6.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for assaycalc 0.2.1.1
File Interpreter ABI Platform
assaycalc-0.2.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 11.8 kB

Release files / assaycalc-0.2.1.1.tar.gz

Download URL assaycalc-0.2.1.1.tar.gz
Size 6.3 kB
Tags Source
SHA-256 checksum
How to use checksums
12ffafde74911e688c0dd13bfad533624567a297c862121421d1f7a7cc2be79e
BLAKE2b-256 checksum
How to use checksums
13844b331297d6d9e7c9677e596ce5820a816613021c75a46759344747f853c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Release files / assaycalc-0.2.1.1-py3-none-any.whl

Download URL assaycalc-0.2.1.1-py3-none-any.whl
Size 5.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d6886eea4982860f65d95877e01afad87fd731c41553e9d883f33d5bd16022e8
BLAKE2b-256 checksum
How to use checksums
f740fa4ec6d54dfe84931afc5e24c9dd5abb72924b0b50402676ad13505da04b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page