see the pandas docs on options and settings.
You should be setting display.width
not display.max_columns
. From the docs:
display.max_columns
(default 0 or 20):
max_rows and max_columns are used in repr() methods to decide if to_string() or info() is used to render an object to a string. In case Python/IPython is running in a terminal this is set to 0 by default and pandas will correctly auto-detect the width of the terminal and switch to a smaller format in case all columns would not fit vertically. The IPython notebook, IPython qtconsole, or IDLE do not run in a terminal and hence it is not possible to do correct auto-detection, in which case the default is set to 20. ‘None’ value means unlimited.
display.width
(default 80):
Width of the display in characters. In case Python/IPython is running in a terminal this can be set to None and pandas will correctly auto-detect the width. Note that the IPython notebook, IPython qtconsole, or IDLE do not run in a terminal and hence it is not possible to correctly detect the width.
display.max_columns
sets the total number of columns to display, which includes wrapped columns. display.width
tells pandas how many columns/characters to use when displaying each row of a dataframe's repr.
Note that this is purely a discussion of the display - the data itself is not being placed at the bottom of the table.