In order to print pandas DataFrame
or Series
in full, we can use pd.set_option('display.max_rows', None)
. But this doesn't seem to work on the Index
datatype:
import pandas as pd
pd.set_option('display.max_rows', None)
pd.set_option('display.max_columns', None) # just in case
d = {i: ['a'] for i in range(1000)}
df = pd.DataFrame(d)
print(df.columns)
will print
Int64Index([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
...
990, 991, 992, 993, 994, 995, 996, 997, 998, 999],
dtype='int64', length=1000)
Is there a way to make the index print in full?
In general, is there a way to tell pandas to never abbreviate any output?
(python 3.5, pandas 0.17.1, but it shouldn't matter.)
It's the option max_seq_items
that is used for this:
In [21]: pd.options.display.max_seq_items
Out[21]: 100
In [22]: pd.options.display.max_seq_items = 4
In [23]: pd.Index(range(1000))
Out[23]:
Int64Index([ 0, 1,
...
998, 999], dtype='int64', length=1000)
And setting it to None
will display the full index.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With