pandas.DataFrame.to_latex¶
- DataFrame.to_latex(buf=None, columns=None, col_space=None, header=True, index=True, na_rep='NaN', formatters=None, float_format=None, sparsify=None, index_names=True, bold_rows=False, column_format=None, longtable=None, escape=None, encoding=None, decimal='.', multicolumn=None, multicolumn_format=None, multirow=None, caption=None, label=None, position=None)[source]¶
Render object to a LaTeX tabular, longtable, or nested table/tabular.
Requires
\usepackage{booktabs}
. The output can be copy/pasted into a main LaTeX document or read from an external file with\input{table.tex}
.Changed in version 1.0.0: Added caption and label arguments.
Changed in version 1.2.0: Added position argument, changed meaning of caption argument.
- Parameters
- bufstr, Path or StringIO-like, optional, default None
Buffer to write to. If None, the output is returned as a string.
- columnslist of label, optional
The subset of columns to write. Writes all columns by default.
- col_spaceint, optional
The minimum width of each column.
- headerbool or list of str, default True
Write out the column names. If a list of strings is given, it is assumed to be aliases for the column names.
- indexbool, default True
Write row names (index).
- na_repstr, default ‘NaN’
Missing data representation.
- formatterslist of functions or dict of {str: function}, optional
Formatter functions to apply to columns’ elements by position or name. The result of each function must be a unicode string. List must be of length equal to the number of columns.
- float_formatone-parameter function or str, optional, default None
Formatter for floating point numbers. For example
float_format="%.2f"
andfloat_format="{:0.2f}".format
will both result in 0.1234 being formatted as 0.12.- sparsifybool, optional
Set to False for a DataFrame with a hierarchical index to print every multiindex key at each row. By default, the value will be read from the config module.
- index_namesbool, default True
Prints the names of the indexes.
- bold_rowsbool, default False
Make the row labels bold in the output.
- column_formatstr, optional
The columns format as specified in LaTeX table format e.g. ‘rcl’ for 3 columns. By default, ‘l’ will be used for all columns except columns of numbers, which default to ‘r’.
- longtablebool, optional
By default, the value will be read from the pandas config module. Use a longtable environment instead of tabular. Requires adding a usepackage{longtable} to your LaTeX preamble.
- escapebool, optional
By default, the value will be read from the pandas config module. When set to False prevents from escaping latex special characters in column names.
- encodingstr, optional
A string representing the encoding to use in the output file, defaults to ‘utf-8’.
- decimalstr, default ‘.’
Character recognized as decimal separator, e.g. ‘,’ in Europe.
- multicolumnbool, default True
Use multicolumn to enhance MultiIndex columns. The default will be read from the config module.
- multicolumn_formatstr, default ‘l’
The alignment for multicolumns, similar to column_format The default will be read from the config module.
- multirowbool, default False
Use multirow to enhance MultiIndex rows. Requires adding a usepackage{multirow} to your LaTeX preamble. Will print centered labels (instead of top-aligned) across the contained rows, separating groups via clines. The default will be read from the pandas config module.
- captionstr or tuple, optional
Tuple (full_caption, short_caption), which results in
\caption[short_caption]{full_caption}
; if a single string is passed, no short caption will be set.New in version 1.0.0.
Changed in version 1.2.0: Optionally allow caption to be a tuple
(full_caption, short_caption)
.- labelstr, optional
The LaTeX label to be placed inside
\label{}
in the output. This is used with\ref{}
in the main.tex
file.New in version 1.0.0.
- positionstr, optional
The LaTeX positional argument for tables, to be placed after
\begin{}
in the output.New in version 1.2.0.
- Returns
- str or None
If buf is None, returns the result as a string. Otherwise returns None.
See also
DataFrame.to_string
Render a DataFrame to a console-friendly tabular output.
DataFrame.to_html
Render a DataFrame as an HTML table.
Examples
>>> df = pd.DataFrame(dict(name=['Raphael', 'Donatello'], ... mask=['red', 'purple'], ... weapon=['sai', 'bo staff'])) >>> print(df.to_latex(index=False)) \begin{tabular}{lll} \toprule name & mask & weapon \\ \midrule Raphael & red & sai \\ Donatello & purple & bo staff \\ \bottomrule \end{tabular}