Skip to content

Commit 02f7da8

Browse files
authored
TST: clean deprecation warnings & some parametrizing (pandas-dev#20467)
1 parent 53ad5c6 commit 02f7da8

File tree

2 files changed

+78
-78
lines changed

2 files changed

+78
-78
lines changed

pandas/core/frame.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2153,7 +2153,7 @@ def _verbose_repr():
21532153
lines.append(_put_str(col, space) + tmpl % (count, dtype))
21542154

21552155
def _non_verbose_repr():
2156-
lines.append(self.columns.summary(name='Columns'))
2156+
lines.append(self.columns._summary(name='Columns'))
21572157

21582158
def _sizeof_fmt(num, size_qualifier):
21592159
# returns size in human readable format

pandas/tests/test_base.py

+77-77
Original file line numberDiff line numberDiff line change
@@ -647,83 +647,83 @@ def test_value_counts_bins(self):
647647

648648
assert s.nunique() == 0
649649

650-
def test_value_counts_datetime64(self):
651-
klasses = [Index, Series]
652-
for klass in klasses:
653-
# GH 3002, datetime64[ns]
654-
# don't test names though
655-
txt = "\n".join(['xxyyzz20100101PIE', 'xxyyzz20100101GUM',
656-
'xxyyzz20100101EGG', 'xxyyww20090101EGG',
657-
'foofoo20080909PIE', 'foofoo20080909GUM'])
658-
f = StringIO(txt)
659-
df = pd.read_fwf(f, widths=[6, 8, 3],
660-
names=["person_id", "dt", "food"],
661-
parse_dates=["dt"])
662-
663-
s = klass(df['dt'].copy())
664-
s.name = None
665-
666-
idx = pd.to_datetime(['2010-01-01 00:00:00Z',
667-
'2008-09-09 00:00:00Z',
668-
'2009-01-01 00:00:00X'])
669-
expected_s = Series([3, 2, 1], index=idx)
670-
tm.assert_series_equal(s.value_counts(), expected_s)
671-
672-
expected = np_array_datetime64_compat(['2010-01-01 00:00:00Z',
673-
'2009-01-01 00:00:00Z',
674-
'2008-09-09 00:00:00Z'],
675-
dtype='datetime64[ns]')
676-
if isinstance(s, Index):
677-
tm.assert_index_equal(s.unique(), DatetimeIndex(expected))
678-
else:
679-
tm.assert_numpy_array_equal(s.unique(), expected)
680-
681-
assert s.nunique() == 3
682-
683-
# with NaT
684-
s = df['dt'].copy()
685-
s = klass([v for v in s.values] + [pd.NaT])
686-
687-
result = s.value_counts()
688-
assert result.index.dtype == 'datetime64[ns]'
689-
tm.assert_series_equal(result, expected_s)
690-
691-
result = s.value_counts(dropna=False)
692-
expected_s[pd.NaT] = 1
693-
tm.assert_series_equal(result, expected_s)
694-
695-
unique = s.unique()
696-
assert unique.dtype == 'datetime64[ns]'
697-
698-
# numpy_array_equal cannot compare pd.NaT
699-
if isinstance(s, Index):
700-
exp_idx = DatetimeIndex(expected.tolist() + [pd.NaT])
701-
tm.assert_index_equal(unique, exp_idx)
702-
else:
703-
tm.assert_numpy_array_equal(unique[:3], expected)
704-
assert pd.isna(unique[3])
705-
706-
assert s.nunique() == 3
707-
assert s.nunique(dropna=False) == 4
708-
709-
# timedelta64[ns]
710-
td = df.dt - df.dt + timedelta(1)
711-
td = klass(td, name='dt')
712-
713-
result = td.value_counts()
714-
expected_s = Series([6], index=[Timedelta('1day')], name='dt')
715-
tm.assert_series_equal(result, expected_s)
716-
717-
expected = TimedeltaIndex(['1 days'], name='dt')
718-
if isinstance(td, Index):
719-
tm.assert_index_equal(td.unique(), expected)
720-
else:
721-
tm.assert_numpy_array_equal(td.unique(), expected.values)
722-
723-
td2 = timedelta(1) + (df.dt - df.dt)
724-
td2 = klass(td2, name='dt')
725-
result2 = td2.value_counts()
726-
tm.assert_series_equal(result2, expected_s)
650+
@pytest.mark.parametrize('klass', [Index, Series])
651+
def test_value_counts_datetime64(self, klass):
652+
653+
# GH 3002, datetime64[ns]
654+
# don't test names though
655+
txt = "\n".join(['xxyyzz20100101PIE', 'xxyyzz20100101GUM',
656+
'xxyyzz20100101EGG', 'xxyyww20090101EGG',
657+
'foofoo20080909PIE', 'foofoo20080909GUM'])
658+
f = StringIO(txt)
659+
df = pd.read_fwf(f, widths=[6, 8, 3],
660+
names=["person_id", "dt", "food"],
661+
parse_dates=["dt"])
662+
663+
s = klass(df['dt'].copy())
664+
s.name = None
665+
666+
idx = pd.to_datetime(['2010-01-01 00:00:00Z',
667+
'2008-09-09 00:00:00Z',
668+
'2009-01-01 00:00:00Z'])
669+
expected_s = Series([3, 2, 1], index=idx)
670+
tm.assert_series_equal(s.value_counts(), expected_s)
671+
672+
expected = np_array_datetime64_compat(['2010-01-01 00:00:00Z',
673+
'2009-01-01 00:00:00Z',
674+
'2008-09-09 00:00:00Z'],
675+
dtype='datetime64[ns]')
676+
if isinstance(s, Index):
677+
tm.assert_index_equal(s.unique(), DatetimeIndex(expected))
678+
else:
679+
tm.assert_numpy_array_equal(s.unique(), expected)
680+
681+
assert s.nunique() == 3
682+
683+
# with NaT
684+
s = df['dt'].copy()
685+
s = klass([v for v in s.values] + [pd.NaT])
686+
687+
result = s.value_counts()
688+
assert result.index.dtype == 'datetime64[ns]'
689+
tm.assert_series_equal(result, expected_s)
690+
691+
result = s.value_counts(dropna=False)
692+
expected_s[pd.NaT] = 1
693+
tm.assert_series_equal(result, expected_s)
694+
695+
unique = s.unique()
696+
assert unique.dtype == 'datetime64[ns]'
697+
698+
# numpy_array_equal cannot compare pd.NaT
699+
if isinstance(s, Index):
700+
exp_idx = DatetimeIndex(expected.tolist() + [pd.NaT])
701+
tm.assert_index_equal(unique, exp_idx)
702+
else:
703+
tm.assert_numpy_array_equal(unique[:3], expected)
704+
assert pd.isna(unique[3])
705+
706+
assert s.nunique() == 3
707+
assert s.nunique(dropna=False) == 4
708+
709+
# timedelta64[ns]
710+
td = df.dt - df.dt + timedelta(1)
711+
td = klass(td, name='dt')
712+
713+
result = td.value_counts()
714+
expected_s = Series([6], index=[Timedelta('1day')], name='dt')
715+
tm.assert_series_equal(result, expected_s)
716+
717+
expected = TimedeltaIndex(['1 days'], name='dt')
718+
if isinstance(td, Index):
719+
tm.assert_index_equal(td.unique(), expected)
720+
else:
721+
tm.assert_numpy_array_equal(td.unique(), expected.values)
722+
723+
td2 = timedelta(1) + (df.dt - df.dt)
724+
td2 = klass(td2, name='dt')
725+
result2 = td2.value_counts()
726+
tm.assert_series_equal(result2, expected_s)
727727

728728
def test_factorize(self):
729729
for orig in self.objs:

0 commit comments

Comments
 (0)