Skip to content

Commit 20440ec

Browse files
committed
resolve merge_conflict pt1
1 parent 43b2d22 commit 20440ec

File tree

2 files changed

+44
-20
lines changed

2 files changed

+44
-20
lines changed

pandas/tests/series/test_api.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,11 @@
1111
import pandas.io.formats.printing as printing
1212
import pandas.util.testing as tm
1313
from pandas import (
14-
Categorical, DataFrame, DatetimeIndex, Index, PeriodIndex, Series,
15-
TimedeltaIndex, compat, date_range, period_range, timedelta_range
14+
Categorical, DataFrame, DatetimeIndex, Index, Series, TimedeltaIndex,
15+
compat, date_range, period_range, timedelta_range
1616
)
1717
from pandas.compat import isidentifier, lzip, range, string_types
18+
from pandas.core.arrays import PeriodArray
1819
from pandas.core.indexes.datetimes import Timestamp
1920
from pandas.util.testing import assert_series_equal, ensure_clean
2021

@@ -696,7 +697,7 @@ def test_dt_accessor_api_for_categorical(self):
696697

697698
test_data = [
698699
("Datetime", get_ops(DatetimeIndex), s_dr, c_dr),
699-
("Period", get_ops(PeriodIndex), s_pr, c_pr),
700+
("Period", get_ops(PeriodArray), s_pr, c_pr),
700701
("Timedelta", get_ops(TimedeltaIndex), s_tdr, c_tdr)]
701702

702703
assert isinstance(c_dr.dt, Properties)

pandas/tests/series/test_constructors.py

Lines changed: 40 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,30 @@
11
# coding=utf-8
22
# pylint: disable-msg=E1101,W0612
33

4-
from collections import OrderedDict
4+
import pytest
5+
56
from datetime import datetime, timedelta
7+
from collections import OrderedDict
68

9+
from numpy import nan
710
import numpy as np
811
import numpy.ma as ma
9-
import pytest
10-
from numpy import nan
11-
1212
import pandas as pd
13-
import pandas.util.testing as tm
14-
from pandas import (
15-
Categorical, DataFrame, Index, IntervalIndex, MultiIndex, NaT, Series,
16-
Timestamp, date_range, isna, period_range, timedelta_range
17-
)
18-
from pandas._libs import lib
19-
from pandas._libs.tslib import iNaT
13+
2014
from pandas.api.types import CategoricalDtype
21-
from pandas.compat import PY36, long, lrange, range, zip
2215
from pandas.core.dtypes.common import (
23-
is_categorical_dtype, is_datetime64tz_dtype
24-
)
16+
is_categorical_dtype,
17+
is_datetime64tz_dtype)
18+
from pandas import (Index, Series, isna, date_range, Timestamp,
19+
NaT, period_range, timedelta_range, MultiIndex,
20+
IntervalIndex, Categorical, DataFrame)
21+
from pandas.core.arrays import period_array
22+
from pandas._libs import lib
23+
from pandas._libs.tslib import iNaT
24+
25+
from pandas.compat import lrange, range, zip, long, PY36
2526
from pandas.util.testing import assert_series_equal
27+
import pandas.util.testing as tm
2628

2729

2830
class TestSeriesConstructors():
@@ -854,17 +856,33 @@ def test_construction_consistency(self):
854856
result = Series(s.values, dtype=s.dtype)
855857
tm.assert_series_equal(result, s)
856858

859+
def test_constructor_infer_period(self):
860+
data = [pd.Period('2000', 'D'), pd.Period('2001', 'D'), None]
861+
result = pd.Series(data)
862+
expected = pd.Series(period_array(data))
863+
tm.assert_series_equal(result, expected)
864+
assert result.dtype == 'Period[D]'
865+
866+
data = np.asarray(data, dtype=object)
867+
tm.assert_series_equal(result, expected)
868+
assert result.dtype == 'Period[D]'
869+
870+
def test_constructor_period_incompatible_frequency(self):
871+
data = [pd.Period('2000', 'D'), pd.Period('2001', 'A')]
872+
result = pd.Series(data)
873+
assert result.dtype == object
874+
assert result.tolist() == data
875+
857876
def test_constructor_periodindex(self):
858877
# GH7932
859878
# converting a PeriodIndex when put in a Series
860879

861880
pi = period_range('20130101', periods=5, freq='D')
862881
s = Series(pi)
882+
assert s.dtype == 'Period[D]'
863883
expected = Series(pi.astype(object))
864884
assert_series_equal(s, expected)
865885

866-
assert s.dtype == 'object'
867-
868886
def test_constructor_dict(self):
869887
d = {'a': 0., 'b': 1., 'c': 2.}
870888
result = Series(d, index=['b', 'c', 'd', 'a'])
@@ -1139,7 +1157,12 @@ def test_convert_non_ns(self):
11391157
def test_constructor_cant_cast_datetimelike(self, index):
11401158

11411159
# floats are not ok
1142-
msg = "Cannot cast {} to ".format(type(index).__name__)
1160+
msg = "Cannot cast {}.*? to ".format(
1161+
# strip Index to convert PeriodIndex -> Period
1162+
# We don't care whether the error message says
1163+
# PeriodIndex or PeriodArray
1164+
type(index).__name__.rstrip("Index")
1165+
)
11431166
with tm.assert_raises_regex(TypeError, msg):
11441167
Series(index, dtype=float)
11451168

0 commit comments

Comments
 (0)