Skip to content

Commit b084cd4

Browse files
committed
Changed info to user-friendly
1 parent 5f2e74d commit b084cd4

File tree

2 files changed

+14
-8
lines changed

2 files changed

+14
-8
lines changed

pandas/core/indexes/multi.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -1163,7 +1163,7 @@ def from_arrays(cls, arrays, sortorder=None, names=None):
11631163
of iterables
11641164
"""
11651165
if not is_list_like(arrays):
1166-
raise TypeError("Inappropriate input for list of arrays.")
1166+
raise TypeError("Input must be a list / sequence of array-likes.")
11671167
elif is_iterator(arrays):
11681168
arrays = list(arrays)
11691169

@@ -1212,7 +1212,7 @@ def from_tuples(cls, tuples, sortorder=None, names=None):
12121212
of iterables
12131213
"""
12141214
if not is_list_like(tuples):
1215-
raise TypeError('Inappropriate input for tuples.')
1215+
raise TypeError('Input must be a list /sequence of tuple-likes.')
12161216
elif is_iterator(tuples):
12171217
tuples = list(tuples)
12181218

@@ -1271,7 +1271,7 @@ def from_product(cls, iterables, sortorder=None, names=None):
12711271
from pandas.core.reshape.util import cartesian_product
12721272

12731273
if not is_list_like(iterables):
1274-
raise TypeError("Inappropriate input for iterables.")
1274+
raise TypeError("Input must be a list / sequence of iterables.")
12751275
elif is_iterator(iterables):
12761276
iterables = list(iterables)
12771277

pandas/tests/indexes/test_multi.py

+11-5
Original file line numberDiff line numberDiff line change
@@ -675,12 +675,14 @@ def test_from_arrays(self):
675675
# list of arrays as input
676676
result = MultiIndex.from_arrays(arrays)
677677
assert list(result) == list(self.index)
678+
678679
# iterator as input
679680
result2 = MultiIndex.from_arrays(iter(arrays))
680681
assert list(result2) == list(self.index)
682+
681683
# invlide iterator input
682684
with tm.assert_raises_regex(
683-
TypeError, "Inappropriate input for list of arrays."):
685+
TypeError, "Input must be a list / sequence of array-likes."):
684686
MultiIndex.from_arrays(0)
685687

686688
# infer correctly
@@ -839,9 +841,10 @@ def test_from_product(self):
839841
result2 = MultiIndex.from_product(iter([first, second]), names=names)
840842
assert result2.equals(expected)
841843
assert result2.names == names
844+
842845
# Invalid non-iterable input
843-
with tm.assert_raises_regex(TypeError,
844-
"Inappropriate input for iterables."):
846+
with tm.assert_raises_regex(
847+
TypeError, "Input must be a list / sequence of iterables."):
845848
MultiIndex.from_product(0)
846849

847850
def test_from_product_empty(self):
@@ -1745,17 +1748,20 @@ def test_from_tuples(self):
17451748
expected = MultiIndex(levels=[[1, 3], [2, 4]],
17461749
labels=[[0, 1], [0, 1]],
17471750
names=['a', 'b'])
1751+
17481752
# input tuples
17491753
res1 = MultiIndex.from_tuples(((1, 2), (3, 4)), names=['a', 'b'])
17501754
assert expected.names == res1.names
17511755
assert res1.equals(expected)
1756+
17521757
# input iterator for tuples
17531758
res2 = MultiIndex.from_tuples(zip([1, 3], [2, 4]), names=['a', 'b'])
17541759
assert expected.names == res2.names
17551760
assert res2.equals(expected)
1761+
17561762
# input non-iterables
1757-
with tm.assert_raises_regex(TypeError,
1758-
'Inappropriate input for tuples.'):
1763+
with tm.assert_raises_regex(
1764+
TypeError, 'Input must be a list /sequence of tuple-likes.'):
17591765
MultiIndex.from_tuples(0)
17601766

17611767
def test_from_tuples_empty(self):

0 commit comments

Comments
 (0)