Skip to content

Commit 0e80039

Browse files
committed
Merge pull request #4190 from hayd/disallow_multi
FIX disallow MultiIndex in Series constructor GH4187
2 parents e2638e0 + 583754f commit 0e80039

File tree

3 files changed

+8
-0
lines changed

3 files changed

+8
-0
lines changed

doc/source/release.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,7 @@ pandas 0.12
201201
- Fixed an esoteric excel reading bug, xlrd>= 0.9.0 now required for excel
202202
support. Should provide python3 support (for reading) which has been
203203
lacking. (:issue:`3164`)
204+
- Disallow Series constructor called with MultiIndex which caused segfault (:issue:`4187`)
204205
- Allow unioning of date ranges sharing a timezone (:issue:`3491`)
205206
- Fix to_csv issue when having a large number of rows and ``NaT`` in some
206207
columns (:issue:`3437`)

pandas/core/series.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -432,6 +432,9 @@ def __new__(cls, data=None, index=None, dtype=None, name=None,
432432
if data is None:
433433
data = {}
434434

435+
if isinstance(data, MultiIndex):
436+
raise NotImplementedError
437+
435438
if index is not None:
436439
index = _ensure_index(index)
437440

pandas/tests/test_series.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -311,6 +311,10 @@ def test_constructor(self):
311311
xp = 'Series'
312312
self.assertEqual(rs, xp)
313313

314+
# raise on MultiIndex GH4187
315+
m = MultiIndex.from_arrays([[1, 2], [3,4]])
316+
self.assertRaises(NotImplementedError, Series, m)
317+
314318
def test_constructor_empty(self):
315319
empty = Series()
316320
empty2 = Series([])

0 commit comments

Comments
 (0)