Skip to content

Commit f5ed0e1

Browse files
committed
tests for CI
1 parent 5ca9e97 commit f5ed0e1

File tree

2 files changed

+54
-29
lines changed

2 files changed

+54
-29
lines changed

doc/source/whatsnew/v0.20.0.txt

+45-29
Original file line numberDiff line numberDiff line change
@@ -568,52 +568,68 @@ ndarray, you can always convert explicitly using ``np.asarray(idx.hour)``.
568568
pd.unique will now be consistent with extension types
569569
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
570570

571-
In prior versions, using ``Series.unique()`` and ``pd.unique(Series)`` on ``Categorical`` and tz-aware datatypes would yield different return types. These are now consistent to return the extension type. Note that the behavior of ``Index.unique()`` and ``pd.unique(Index)`` has not changed. (:issue:`15939`)
571+
In prior versions, using ``Series.unique()`` and ``pd.unique(Series)`` on ``Categorical`` and tz-aware datatypes would yield different return types. These are now consistent to return the extension type.
572572

573-
Previous behaviour:
573+
- Datetime tz-aware
574574

575-
Datetime tz-aware
575+
Previous behaviour:
576576

577-
.. code-block:: ipython
577+
.. code-block:: ipython
578578

579-
In [5]: Series(pd.Index([pd.Timestamp('20160101', tz='US/Eastern'),
580-
pd.Timestamp('20160101', tz='US/Eastern')])).unique()
581-
Out[5]: array([Timestamp('2016-01-01 00:00:00-0500', tz='US/Eastern')], dtype=object)
579+
# Series
580+
In [5]: Series(pd.Index([pd.Timestamp('20160101', tz='US/Eastern'),
581+
pd.Timestamp('20160101', tz='US/Eastern')])).unique()
582+
Out[5]: array([Timestamp('2016-01-01 00:00:00-0500', tz='US/Eastern')], dtype=object)
582583

583-
In [7]: pd.unique(Series(pd.Index([pd.Timestamp('20160101', tz='US/Eastern'),
584-
pd.Timestamp('20160101', tz='US/Eastern')])))
585-
Out[7]: array(['2016-01-01T05:00:00.000000000'], dtype='datetime64[ns]')
584+
In [6]: pd.unique(Series(pd.Index([pd.Timestamp('20160101', tz='US/Eastern'),
585+
pd.Timestamp('20160101', tz='US/Eastern')])))
586+
Out[6]: array(['2016-01-01T05:00:00.000000000'], dtype='datetime64[ns]')
586587

587-
Categoricals
588+
# Index
589+
In [7]: pd.Index([pd.Timestamp('20160101', tz='US/Eastern'),
590+
pd.Timestamp('20160101', tz='US/Eastern')]).unique()
591+
Out[7]: DatetimeIndex(['2016-01-01 00:00:00-05:00'], dtype='datetime64[ns, US/Eastern]', freq=None)
588592

589-
.. code-block:: ipython
593+
In [8]: pd.unique(pd.Index([pd.Timestamp('20160101', tz='US/Eastern'),
594+
pd.Timestamp('20160101', tz='US/Eastern')]))
595+
Out[8]: array(['2016-01-01T05:00:00.000000000'], dtype='datetime64[ns]')
590596

597+
New Behavior:
591598

592-
In [1]: pd.Series(pd.Categorical(list('aabc'))).unique()
593-
Out[1]:
594-
[a, b, c]
595-
Categories (3, object): [a, b, c]
599+
.. ipython:: python
596600

597-
In [2]: pd.unique(pd.Series(pd.Categorical(list('aabc'))).unique())
598-
Out[2]: array(['a', 'b', 'c'], dtype=object)
601+
# Series
602+
Series(pd.Index([pd.Timestamp('20160101', tz='US/Eastern'),
603+
pd.Timestamp('20160101', tz='US/Eastern')])).unique()
604+
pd.unique(Series(pd.Index([pd.Timestamp('20160101', tz='US/Eastern'),
605+
pd.Timestamp('20160101', tz='US/Eastern')])))
599606

600-
New Behavior:
607+
# Index
608+
pd.Index([pd.Timestamp('20160101', tz='US/Eastern'),
609+
pd.Timestamp('20160101', tz='US/Eastern')])
610+
pd.unique(pd.Index([pd.Timestamp('20160101', tz='US/Eastern'),
611+
pd.Timestamp('20160101', tz='US/Eastern')]))
601612

602-
Datetime tz-aware
613+
- Categoricals
603614

604-
.. ipython:: python
615+
Previous behaviour:
616+
617+
.. code-block:: ipython
605618

606-
Series(pd.Index([pd.Timestamp('20160101', tz='US/Eastern'),
607-
pd.Timestamp('20160101', tz='US/Eastern')])).unique()
608-
pd.unique(Series(pd.Index([pd.Timestamp('20160101', tz='US/Eastern'),
609-
pd.Timestamp('20160101', tz='US/Eastern')])))
619+
In [1]: pd.Series(pd.Categorical(list('aabc'))).unique()
620+
Out[1]:
621+
[a, b, c]
622+
Categories (3, object): [a, b, c]
610623

611-
Categoricals
624+
In [2]: pd.unique(pd.Series(pd.Categorical(list('aabc'))).unique())
625+
Out[2]: array(['a', 'b', 'c'], dtype=object)
612626

613-
.. ipython:: python
627+
New Behavior:
628+
629+
.. ipython:: python
614630

615-
pd.Series(pd.Categorical(list('aabc'))).unique()
616-
pd.unique(pd.Series(pd.Categorical(list('aabc'))).unique())
631+
pd.Series(pd.Categorical(list('aabc'))).unique()
632+
pd.unique(pd.Series(pd.Categorical(list('aabc'))).unique())
617633

618634
.. _whatsnew_0200.api_breaking.s3:
619635

pandas/tests/test_algos.py

+9
Original file line numberDiff line numberDiff line change
@@ -399,6 +399,15 @@ def test_categorical(self):
399399
expected = Series(expected, name='foo')
400400
tm.assert_series_equal(result, expected)
401401

402+
# CI
403+
ci = pd.CategoricalIndex(pd.Categorical(list('aabc')))
404+
result = ci.unique()
405+
expected = pd.CategoricalIndex(pd.Categorical(list('abc')))
406+
tm.assert_index_equal(result, expected)
407+
408+
result = pd.unique(ci)
409+
tm.assert_index_equal(result, expected)
410+
402411
def test_datetime64tz_aware(self):
403412
# GH 15939
404413

0 commit comments

Comments
 (0)