array_to_latex
array_to_latex copied to clipboard
Convert NumPy/SciPy arrays and Pandas Dataframes to formatted LaTeX arrays
.. image:: https://badge.fury.io/py/array-to-latex.png/ :target: http://badge.fury.io/py/array-to-latex
.. image:: https://img.shields.io/badge/Say%20Thanks-!-1EAEDB.svg :target: https://saythanks.io/to/josephcslater
.. image:: http://pepy.tech/badge/array-to-latex :target: http://pepy.tech/project/array-to-latex :alt: PyPi Download stats
.. image:: https://mybinder.org/badge_logo.svg :target: https://mybinder.org/v2/gh/josephcslater/array_to_latex/master?filepath=Examples.ipynb
The module array_to_latex
converts a NumPy/SciPy array or Pandas Numerical DataFrame to a LaTeX
array or table using Python 3.x style
_ formatting of the result or a format usable for plotting within LaTeX using pgfplots. Note that as of 0.83 it does add
the column formatting arguments (for example, {ccc...}
) when the user chooses to use array
. I'm happy
to have someone create a better solution but this at least makes a copied array immediately usable. I
prefer bmatrix
or similar. `
Play with it on mybinder.org
_!
A NumPy-focused re-envisioned converter based, in part, on this is
numpyarray_to_latex <https://github.com/benmaier/numpyarray_to_latex>
_. Also, available
pip install. It incorporates more sophisticated "sub" markup capabilities. Check it out!
Recent updates follow, with a more complete list towards the end of this document. If you don't see the current version in this list it's likely because I (again) forgot to update it when pushing out a new version. Please see the readme
_ on GitHub.
| 0.81: Bug fixes in requirements and to_clp
| 0.82: Raise ImportError exception when incorrect datatype used.
| 0.83: Now puts a default format in when returning as an array
object.
| 0.90: Add coords
format for use in plotting within LaTeX using pgfplots.
| 0.91: Improve the output for scientific e
notation.
| 0.92: Allow np.array consisting of strings to be converted (Thanks to Tesla2000)
Install using pip install --user array_to_latex
from your command prompt, not the Python prompt.
Please read the help. It explains all options. To try it, see the online mybinder.org demo <https://mybinder.org/v2/gh/josephcslater/array_to_latex/master?filepath=Examples.ipynb>
_. It documents illustrates application to numerical Pandas DataFrames.
.. code:: python
import numpy as np
import array_to_latex as a2l
A = np.array([[1.23456, 23.45678],[456.23, 8.239521]])
a2l.to_ltx(A, frmt = '{:6.2f}', arraytype = 'array')
will print the LaTeX code to your output.
.. code:: python
import numpy as np
import array_to_latex as a2l
A = np.array([[1.23456, 23.45678],[456.23, 8.239521]])
latex_code = a2l.to_ltx(A, frmt = '{:6.2f}', arraytype = 'bmatrix', print_out=False)
will put the LaTeX code into variable latex_code
.
.. code:: python
import numpy as np
import array_to_latex as a2l
A = np.array([[1.23456, 23.45678],[456.23, 8.239521]])
a2l.to_clp(A, frmt = '{:6.2f}', arraytype = 'bmatrix')
will put the array onto your clipboard.
If you will be using the same conversion over and over, you can define your own by using a lambda
function:
.. code:: python
to_tex = lambda A : a2l.to_ltx(A, frmt = '{:6.2f}', arraytype = 'bmatrix', mathform=True)
to_tex(A)
so you can now use your function to_tex
repeatedly with your specified settings. More detailed information on usage is in the help.
.. code:: python
import array_to_latex as a2l
help(a2l.to_ltx)
Interesting alternative approaches are np_array_to_latex <https://github.com/bbercovici/np_array_to_latex>
_ and tab2latex (convert numpy array to longtable file) <https://pypi.org/project/tab2latex/>
_.
Like this module, buy me a coffee! <https://www.buymeacoffee.com/s6BCSuEiU>
_.
| New in 0.37: Now handles complex arrays.
| New in 0.38: Aligns columns neatly.
| 0.40: Critical upgrade- 0.37-0.38 formatted incorrectly.
| 0.41: Critical upgrade- 0.37-0.40 formatted incorrectly.
| New in 0.43: Now handles 1-D Arrays. See new option row
| New in 0.50: Now works with Pandas DataFrames
| 0.51: Bug fix- remove extra blank lines in DataFrame tabular output
| 0.52: A few documentation typos fixed. No code changed.
| 0.60: Now handles strings in Pandas Dataframes. Fixes bug in exponentials and handling of exponentials. Please report errors!
| 0.61: Minor documentation improvements. No code changed.
| 0.70: Added mathform
. When set to True
(default), returns 10 to superscript form.
| 0.71: Line breaks broke readme.rst
on pypi
. No code change.
| 0.72: Line breaks broke readme.rst
on pypi
. No code change.
| 0.73: pypi won't handle mathjax. It makes me sad. No code change.
| 0.74: Not released
| 0.75: output improvements (short-lived release)
| 0.76: Printing made better, allows outputs, added print_out
| boolean to turn off printing
| 0.80: Return to previous interface while still enabling returned
| LaTeX string.
| 0.81: Bug fixes in requirements and to_clp
| 0.82: Raise ImportError exception when incorrect datatype used.
| 0.83: Add formatting defaults when using array versus bmatrix, etc.
| 0.90: Add coords
format for use in plotting within LaTeX using pgfplots.
| 0.91: Improve the output for scientific e
notation.
| 0.92: Allow np.array consisting of strings to be converted (Thanks to Tesla2000)
.. _Python 3.x style
: https://docs.python.org/3.7/library/string.html
.. _mybinder.org
: https://mybinder.org/v2/gh/josephcslater/array_to_latex/master?filepath=Examples.ipynb
.. _readme
: https://github.com/josephcslater/array_to_latex/blob/master/README.rst