-
-
Notifications
You must be signed in to change notification settings - Fork 19.1k
BUG: Fix Index.__repr__ when display.max_seq_items
= 1
#38443
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Thanks @skvrahul for the PR. please add a test. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this issue needs to confirm / add any tests that we are missing
else: | ||
|
||
if n > max_seq_items: | ||
if max_seq_items == 1: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can you also cover in a test the max_seq_items == 0 case (I think we have this but maybe not). Also pls confirm that we have a test for n == max_seq_items.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like we don't have a test for n == max_seq_items
. Will cover these in my tests.
Just wanted to confirm that this is the relevant location for adding these?
pandas/pandas/tests/indexes/multi/test_formats.py
Lines 92 to 119 in e2dec8d
def test_repr(self, idx): | |
result = idx[:1].__repr__() | |
expected = """\ | |
MultiIndex([('foo', 'one')], | |
names=['first', 'second'])""" | |
assert result == expected | |
result = idx.__repr__() | |
expected = """\ | |
MultiIndex([('foo', 'one'), | |
('foo', 'two'), | |
('bar', 'one'), | |
('baz', 'two'), | |
('qux', 'one'), | |
('qux', 'two')], | |
names=['first', 'second'])""" | |
assert result == expected | |
with pd.option_context("display.max_seq_items", 5): | |
result = idx.__repr__() | |
expected = """\ | |
MultiIndex([('foo', 'one'), | |
('foo', 'two'), | |
... | |
('qux', 'one'), | |
('qux', 'two')], | |
names=['first', 'second'], length=6)""" | |
assert result == expected |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah there plus some generic Index ones (look in pandas/tests/indexes/); you may have to grep around a bit
e.g.
~/pandas-dev$ grep -r max_seq_items pandas/tests/
pandas/tests/io/formats/test_format.py: with option_context("display.max_seq_items", 2000):
pandas/tests/io/formats/test_format.py: with option_context("display.max_seq_items", 5):
pandas/tests/groupby/test_groupby.py: "max_seq_items, expected",
pandas/tests/groupby/test_groupby.py:def test_groups_repr_truncates(max_seq_items, expected):
pandas/tests/groupby/test_groupby.py: with pd.option_context("display.max_seq_items", max_seq_items):
pandas/tests/indexes/multi/test_formats.py: with pd.option_context("display.max_seq_items", None):
pandas/tests/indexes/multi/test_formats.py: with pd.option_context("display.max_seq_items", 5):
pandas/tests/indexes/common.py: with pd.option_context("display.max_seq_items", None):
pandas/tests/indexes/base_class/test_formats.py: with cf.option_context("display.max_seq_items", 10):
i think pandas/tests/indexes/base_class/test_formats.py: with cf.option_context("display.max_seq_items", 10):
has a number of tests as well
@jreback @simonjayhawkins
and not
|
Checked on |
else: | ||
|
||
if n > max_seq_items: | ||
if max_seq_items == 1: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah there plus some generic Index ones (look in pandas/tests/indexes/); you may have to grep around a bit
e.g.
~/pandas-dev$ grep -r max_seq_items pandas/tests/
pandas/tests/io/formats/test_format.py: with option_context("display.max_seq_items", 2000):
pandas/tests/io/formats/test_format.py: with option_context("display.max_seq_items", 5):
pandas/tests/groupby/test_groupby.py: "max_seq_items, expected",
pandas/tests/groupby/test_groupby.py:def test_groups_repr_truncates(max_seq_items, expected):
pandas/tests/groupby/test_groupby.py: with pd.option_context("display.max_seq_items", max_seq_items):
pandas/tests/indexes/multi/test_formats.py: with pd.option_context("display.max_seq_items", None):
pandas/tests/indexes/multi/test_formats.py: with pd.option_context("display.max_seq_items", 5):
pandas/tests/indexes/common.py: with pd.option_context("display.max_seq_items", None):
pandas/tests/indexes/base_class/test_formats.py: with cf.option_context("display.max_seq_items", 10):
i think pandas/tests/indexes/base_class/test_formats.py: with cf.option_context("display.max_seq_items", 10):
has a number of tests as well
names=['first', 'second'], length=6)""" | ||
assert result == expected | ||
|
||
# display.max_seq_items == n |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
prob better to make a new test as easier to see / run
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Got it. Moved this to it's own test case
@jreback Added tests and moved one of the tests to its own TC. |
|
||
- | ||
- | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can you undo this
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done. Have reverted the changes.
Revert deleted bullet points
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
pls also merge master
else: | ||
|
||
if n > max_seq_items: | ||
if max_seq_items == 1: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do we have a case of max_seq_items==0 ? (I think this is a valid value), < 0 is restricted i am pretty sure?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes we do. Max_seq_items ==0 implies unlimited if I'm not mistaken
thanks @skvrahul very nice |
display.max_seq_items
= 1 #38415black pandas
git diff upstream/master -u -- "*.py" | flake8 --diff