Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

pandas pd.options.display.max_rows not working as expected

Tags:

python

pandas

I’m using pandas 0.25.1 in Jupyter Lab and the maximum number of rows I can display is 10, regardless of what pd.options.display.max_rows is set to.

However, if pd.options.display.max_rows is set to less than 10 it takes effect and if pd.options.display.max_rows = None then all rows show.

Any idea how I can get a pd.options.display.max_rows of more than 10 to take effect?

like image 900
rbinnun Avatar asked Sep 09 '19 20:09

rbinnun


People also ask

How can I see maximum rows in pandas?

Method 2: Using set_option() display. max_rows represents the maximum number of rows that pandas will display while displaying a data frame. The default value of max_rows is 10. If set to 'None' then it means all rows of the data frame.

How do I change pandas options?

Getting and setting options As described above, get_option() and set_option() are available from the pandas namespace. To change an option, call set_option('option regex', new_value) . The option 'mode.

How show all rows and columns in pandas?

To show all columns in Pandas we can set the option: pd. option_context - display. max_columns to None. This will show all columns in the current DataFrame.

What function in the pandas library can display the maximum rows or columns in a table?

df.info() method provides all the information about the data frame, including the number of rows and columns. Here in the above code, the value in the Index gives the number of rows and the value in Data columns gives the number of columns.


Video Answer


1 Answers

Final answer as of pandas v0.25.1

  • To display all the rows, set max_rows greater than the number of rows in the DataFrame.
  • To display more than 10 rows when the dataframe is truncated, set min_rows greater than 10.
  • With more than 200 rows of data, if max_rows is 200 and min_rows is 20, 10 from the head and 10 from the tail will be displayed.
  • With more than 200 rows of data, if max_rows is 200 and min_rows is None, 100 from the head and 100 from the tail will be displayed.

Discovery & Notes:

Both pd.set_option('display.max_rows', x) and pd.options.display.max_rows = x (where x is some number), should work.

  • FYI: the default is 10 rows, as per pandas.set_option
  • Options and settings
  • This is also in Jupyter Lab

Other useful pandas options:

pd.set_option('display.max_columns', 200)
pd.set_option('display.max_rows', 100)
pd.set_option('display.min_rows', 100)
pd.set_option('display.expand_frame_repr', True)

get.options to return the current value:

pd.get_option("display.max_rows")

Update:

  • After some discovery testing, the setting only displays more rows, if the setting is greater than the number of rows in the DataFrame.
  • If pd.set_option('display.max_rows', 100), but the DataFrame has 200 rows, only 10 will show up.
  • If pd.set_option('display.max_rows', 200), but the DataFrame has 100 rows, all 100 will display.

Per the pandas docs:

  • display.max_rows: default=60
  • This sets the maximum number of rows pandas should output when printing out various output. For example, this value determines whether the repr() for a dataframe prints out fully or just a truncated or summary repr. ‘None’ value means unlimited.
  • display.min_rows: default=10
  • The numbers of rows to show in a truncated repr (when max_rows is exceeded). Ignored when max_rows is set to None or 0. When set to None, follows the value of max_rows.
  • display.large_repr: default=truncate
  • For DataFrames exceeding max_rows/max_cols, the repr (and HTML repr) can show a truncated table (the default), or switch to the view from df.info() (the behaviour in earlier versions of pandas). allowable settings, [‘truncate’, ‘info’]
like image 122
Trenton McKinney Avatar answered Oct 19 '22 16:10

Trenton McKinney