Skip to main content

Money type for pandas

Project description

Moneypandas

Moneypandas is a prototype fork of Cyberpandas for currency, using the money library. Even this README is shamelessly purloigned, with thanks to Tom Augspurger and the ContinuumIO team.

This package provides support for storing currency data inside a pandas DataFrame using pandas' Extension Array Interface

Set Up Dev Environment

Run pipenv shell or another Python3 virtual envirnonment.

Run python3 setup.py develop

The env should be set up. Run python3 examples/three_currency.py to check.

Contributing (For new open source contributers!)

Clone this repo using SSH or HTTPS

For any changes, do git checkout -b [feature/bug][description-of-issue] to create a new branch.

Once your changes are made, git add [file-name]. Add each file individually.

Run git status to make sure all the files you want are added to this commit.

Do git commit -m "A message describing what changes you made, and why, possible bugs, and what you want to do". This will make it easier to refer back to in future.

Run git push -u origin [branch-name]. If there have been no issues then a pull request should be open. Follow the link that was returned in the console to complete the PR.


Example

In [1]: from moneypandas import MoneyArray

In [2]: import pandas as pd

In [3]: df = pd.DataFrame({"money": MoneyArray(['1284 EUR', '121 EUR', '€14'])})

In [4]: df
Out[4]:
          money
0  EUR 1,284.00
1    EUR 121.00
2     EUR 14.00

For more examples, including summing and converting mixed-currency columns, see the examples folder.

(note: not yet tested with Conda, only setuptools/pipenv)

To efficiently perform operations, aggregation is done per currency first, and then XMoney used to do necessary operations on the output aggregates.

Currency conversion of a Series only uses XMoney and conversion where currencies mismatch, so converting a column mostly of BBBs, with a few AAAs, should scale according to the number of AAAs.

TODO

  • implement more reduce functions
  • testing for arithmetic

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

moneypandas-0.9.5-py2.py3-none-any.whl (18.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file moneypandas-0.9.5-py2.py3-none-any.whl.

File metadata

  • Download URL: moneypandas-0.9.5-py2.py3-none-any.whl
  • Upload date:
  • Size: 18.3 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.3.1 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.6

File hashes

Hashes for moneypandas-0.9.5-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 4c6813d0ec4f9cf6200997477270a0e3730351a3bfdd9f3a7d866efef2afdb6e
MD5 a6f9e2eea7d418aad54f26db8d39a3ff
BLAKE2b-256 bfc5520d2706f6efdb26e0ecb6d20a8cbbab64e23d6fe5da1cb615cffa11b9b5

See more details on using hashes here.

Supported by

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