Skip to content

backport of 25643, 25638 on 0.24.x #25645

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

Merged
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 12 additions & 2 deletions pandas/tests/frame/test_constructors.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
import pytest

from pandas.compat import (
PY3, PY36, OrderedDict, is_platform_little_endian, lmap, long, lrange,
PY2, PY3, PY36, OrderedDict, is_platform_little_endian, lmap, long, lrange,
lzip, range, zip)

from pandas.core.dtypes.cast import construct_1d_object_array_from_listlike
Expand All @@ -20,7 +20,7 @@
import pandas as pd
from pandas import (
Categorical, DataFrame, Index, MultiIndex, Series, Timedelta, Timestamp,
compat, date_range, isna)
_np_version_under1p13, compat, date_range, isna)
from pandas.tests.frame.common import TestData
import pandas.util.testing as tm

Expand Down Expand Up @@ -682,6 +682,8 @@ def test_constructor_ndarray(self):
frame = DataFrame(['foo', 'bar'], index=[0, 1], columns=['A'])
assert len(frame) == 2

@pytest.mark.skipif(PY2 and _np_version_under1p13,
reason="old numpy & py2")
def test_constructor_maskedarray(self):
self._check_basic_constructor(ma.masked_all)

Expand All @@ -698,6 +700,8 @@ def test_constructor_maskedarray(self):
frame = DataFrame(mat, columns=['A', 'B', 'C'], index=[1, 2])
assert np.all(~np.asarray(frame == frame))

@pytest.mark.skipif(PY2 and _np_version_under1p13,
reason="old numpy & py2")
def test_constructor_maskedarray_nonfloat(self):
# masked int promoted to float
mat = ma.masked_all((2, 3), dtype=int)
Expand Down Expand Up @@ -765,6 +769,8 @@ def test_constructor_maskedarray_nonfloat(self):
assert frame['A'][1] is True
assert frame['C'][2] is False

@pytest.mark.skipif(PY2 and _np_version_under1p13,
reason="old numpy & py2")
def test_constructor_maskedarray_hardened(self):
# Check numpy masked arrays with hard masks -- from GH24574
mat_hard = ma.masked_all((2, 2), dtype=float).harden_mask()
Expand All @@ -787,6 +793,8 @@ def test_constructor_maskedarray_hardened(self):
dtype=float)
tm.assert_frame_equal(result, expected)

@pytest.mark.skipif(PY2 and _np_version_under1p13,
reason="old numpy & py2")
def test_constructor_maskedrecarray_dtype(self):
# Ensure constructor honors dtype
data = np.ma.array(
Expand All @@ -798,6 +806,8 @@ def test_constructor_maskedrecarray_dtype(self):
columns=['date', 'price'])
tm.assert_frame_equal(result, expected)

@pytest.mark.skipif(PY2 and _np_version_under1p13,
reason="old numpy & py2")
def test_constructor_mrecarray(self):
# Ensure mrecarray produces frame identical to dict of masked arrays
# from GH3479
Expand Down