For managing multi-dimensional mass-composition datasets, supporting weighted mathematical operations and visualisation.
Project description
MassComposition
MassComposition is a python package that allows Geoscientists and Metallurgists to easily work with, and visualise mass-compositional data.
Mass Composition in this context is just that - Mass and Composition. It is not Compositional Data Analysis (CoDA), since here we care more about mathematical operations like weight averaging and technically correct mathematical operations. Of course, we also need to manage moisture correctly - chemical composition is reported on a dry basis and moisture on a wet basis.
The package not only supports individual MassComposition, but collections of objects that are mathematically related in a Directional Graph (a.k.a. network or flowsheet).
Prerequisites
Before you begin, ensure you have met the following requirements:
- You have installed the latest version of the mass-composition python package.
- You have a Windows/Linux/Mac machine.
- You have read the docs.
Installing MassComposition
To install MassComposition, follow these steps:
pip install mass-composition -e .[viz,network]
Or, if poetry is more your flavour.
poetry add "mass-composition[viz,network]"
Using MassComposition
To use MassComposition, follow these steps:
There are some basic requirements that the incoming DataFrame must meet. We'll use a sample DataFrame here.
df_data: pd.DataFrame = sample_data()
Create the object
obj_mc: MassComposition = MassComposition(df_data)
It is then trivial to calculate the weight average aggregate of the dataset.
obj_mc.aggregate()
Multiple composition analytes can be viewed in a single interactive parallel coordinates plot.
obj_mc: MassComposition = MassComposition(df_data.reset_index().set_index(['DHID', 'interval_from', 'interval_to']),
name=name)
fig: Figure = obj_mc.plot_parallel(color='Fe')
fig
Network visualisations and other plots are interactive.
For full examples, see the gallery.
Contributing to MassComposition
To contribute to MassComposition, follow these steps:
- Fork this repository.
- Create a branch:
git checkout -b <branch_name>
. - Make your changes and commit them:
git commit -m '<commit_message>'
- Push to the original branch:
git push origin mass-composition
- Create the pull request.
Alternatively see the GitHub documentation on creating a pull request.
Contributors
This project is still in its infancy, but I'm keen to work with contributors.
Contact
If you want to contact me you can reach me at your_email@address.com.
License
This project uses the following license: MIT.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file mass_composition-0.6.8.tar.gz
.
File metadata
- Download URL: mass_composition-0.6.8.tar.gz
- Upload date:
- Size: 66.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f5f7b729202b9f07e8b5396e1edb669a5f2de5141d487165bebcc2af202a733 |
|
MD5 | 650cdf050e7b3a485117cdb38c7191c0 |
|
BLAKE2b-256 | bbe1d8c200cc3199f7a446adc568f60bec3d6b0edc7a3e4f224de73733bef56a |
File details
Details for the file mass_composition-0.6.8-py3-none-any.whl
.
File metadata
- Download URL: mass_composition-0.6.8-py3-none-any.whl
- Upload date:
- Size: 74.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6171c6843147f363dc907c2e8c5d2c56df7f2d0c04f3f69dba3b5798e86eb567 |
|
MD5 | 88e63f24db14ace027f227f4ec304100 |
|
BLAKE2b-256 | a4b3bbe0950a2e0fe6c6ba80e36b49bff5672f468223f9bfefabf6c7f706dbc1 |