Tables in Markdown (in Jupyter)

StephenBoesch picture StephenBoesch · Feb 7, 2018 · Viewed 76.5k times · Source

A super basic question: why is the following not rendering in Markdown - which happens to be in a jupyter notebook

Raw code

### Results

| --- | --- | --- |
| Stretch/Untouched | ProbDistribution | Accuracy |
| --- | --- | --- |
| Stretched | Gaussian | .843 |

Code as it looks in jupyter in edit mode

enter image description here

Rendering in jupyter

enter image description here

So the table did not render properly

Update I did some twiddling and now it renders.. but still uncertain why the original code did not work

enter image description here

Answer

rayryeng picture rayryeng · Feb 7, 2018

The first row of the table defines the headers, then the next row defines the alignment of each column. You duplicated the alignment at the top of the table and where it's actually supposed to go.

The right Markdown should simply be what you have in your syntax, but remove the first row:

| Stretch/Untouched | ProbDistribution | Accuracy |
| --- | --- | --- |
| Stretched | Gaussian | .843 |

The --- in between the column definitions | | mean that the column is unjustified. In standard Markdown, this would align to the left of the column but in Jupyter notebook, it appears to align to the right instead.

With that, I get this table:

enter image description here


If you'd like to left align or centre align, you can use :- and :-: respectively. Depending on what Jupyter notebook environment you're using, you will need to use -: to right align.

| Stretch/Untouched | ProbDistribution | Accuracy |
| :- | -: | :-: |
| Stretched | Gaussian | .843

The first column will be left aligned, centre column is right aligned and last column is centre aligned. Interestingly using Google Colab, --- left aligns the text:

enter image description here


Is the alignment not working as expected in your Jupyter notebook?

The alignment syntax that I've mentioned above unfortunately does not work as of this date (June 25th, 2020) when using local installations of the Jupyter notebook environment. This is because of a bug in the Jupyter source where the Markdown alignment is not taken into account and all of the text is right aligned. See the Github issue here: https://github.com/jupyter/notebook/issues/3919. However, it does work using jupyterlab as well as on Google Colab.