|
8 | 8 | import numpy as np
|
9 | 9 | import pandas as pd
|
10 | 10 | from pandas.tslib import iNaT, NaT
|
11 |
| -from pandas import Series, DataFrame, date_range, DatetimeIndex, Timestamp |
| 11 | +from pandas import Series, DataFrame, date_range, DatetimeIndex, Timestamp, Float64Index |
12 | 12 | from pandas import compat
|
13 | 13 | from pandas.compat import range, long, lrange, lmap, u
|
14 | 14 | from pandas.core.common import notnull, isnull, array_equivalent
|
@@ -63,45 +63,37 @@ def __call__(self):
|
63 | 63 | assert getname(somecall()) == 'somecall'
|
64 | 64 | assert getname(1) is None
|
65 | 65 |
|
66 |
| - |
67 |
| -def test_abc_types(): |
68 |
| - tuples = [('bar', 'one'), ('bar', 'two')] |
69 |
| - names = ['first', 'second'] |
70 |
| - values = [1, 2, 3, 4] |
71 |
| - index = pd.Index(['a', 'b', 'c']) |
72 |
| - int64_index = pd.Int64Index([1, 2, 3]) |
73 |
| - float64_index = pd.Float64Index([1, 2, 3]) |
74 |
| - multi_index = pd.MultiIndex.from_tuples(tuples, names=names) |
| 66 | +#Issue 10859 |
| 67 | +class TestABCClasses(tm.TestCase): |
| 68 | + tuples = [[1, 2, 2], ['red', 'blue', 'red']] |
| 69 | + multi_index = pd.MultiIndex.from_arrays(tuples, names=('number', 'color')) |
75 | 70 | datetime_index = pd.to_datetime(['2000/1/1', '2010/1/1'])
|
76 | 71 | timedelta_index = pd.to_timedelta(np.arange(5), unit='s')
|
77 | 72 | period_index = pd.period_range('2000/1/1', '2010/1/1/', freq='M')
|
78 |
| - categorical = pd.Categorical([1, 2, 3, 4], categories=[4, 2, 3, 1]) |
79 |
| - categorical_df = pd.DataFrame({"values": values}, index=categorical) |
80 |
| - categorical_index = categorical_df.index |
81 |
| - series = pd.Series(values) |
82 |
| - df = pd.DataFrame({"names": names}, index=multi_index) |
83 |
| - panel = df.to_panel() |
84 |
| - sparse_series = series.to_sparse() |
| 73 | + categorical = pd.Categorical([1, 2, 3], categories=[2, 3, 1]) |
| 74 | + categorical_df = pd.DataFrame({"values": [1, 2, 3]}, index=categorical) |
| 75 | + df = pd.DataFrame({'names': ['a', 'b', 'c']}, index=multi_index) |
| 76 | + sparse_series = pd.Series([1, 2, 3]).to_sparse() |
85 | 77 | sparse_array = pd.SparseArray(np.random.randn(10))
|
86 |
| - period = pd.Period('2012', freq='A-DEC') |
87 |
| - |
88 |
| - assert(isinstance(index, com.ABCIndex)) |
89 |
| - assert(isinstance(int64_index, com.ABCInt64Index)) |
90 |
| - assert(isinstance(float64_index, com.ABCFloat64Index)) |
91 |
| - assert(isinstance(multi_index, com.ABCMultiIndex)) |
92 |
| - assert(isinstance(datetime_index, com.ABCDatetimeIndex)) |
93 |
| - assert(isinstance(timedelta_index, com.ABCTimedeltaIndex)) |
94 |
| - assert(isinstance(period_index, com.ABCPeriodIndex)) |
95 |
| - assert(isinstance(categorical_index, com.ABCCategoricalIndex)) |
96 |
| - assert(isinstance(index, com.ABCIndexClass)) |
97 |
| - assert(isinstance(int64_index, com.ABCIndexClass)) |
98 |
| - assert(isinstance(series, com.ABCSeries)) |
99 |
| - assert(isinstance(df, com.ABCDataFrame)) |
100 |
| - assert(isinstance(panel, com.ABCPanel)) |
101 |
| - assert(isinstance(sparse_series, com.ABCSparseSeries)) |
102 |
| - assert(isinstance(sparse_array, com.ABCSparseArray)) |
103 |
| - assert(isinstance(categorical, com.ABCCategorical)) |
104 |
| - assert(isinstance(period, com.ABCPeriod)) |
| 78 | + |
| 79 | + def test_abc_types(self): |
| 80 | + self.assertIsInstance(pd.Index(['a', 'b', 'c']), com.ABCIndex) |
| 81 | + self.assertIsInstance(pd.Int64Index([1, 2, 3]), com.ABCInt64Index) |
| 82 | + self.assertIsInstance(pd.Float64Index([1, 2, 3]), com.ABCFloat64Index) |
| 83 | + self.assertIsInstance(self.multi_index, com.ABCMultiIndex) |
| 84 | + self.assertIsInstance(self.datetime_index, com.ABCDatetimeIndex) |
| 85 | + self.assertIsInstance(self.timedelta_index, com.ABCTimedeltaIndex) |
| 86 | + self.assertIsInstance(self.period_index, com.ABCPeriodIndex) |
| 87 | + self.assertIsInstance(self.categorical_df.index, com.ABCCategoricalIndex) |
| 88 | + self.assertIsInstance(pd.Index(['a', 'b', 'c']), com.ABCIndexClass) |
| 89 | + self.assertIsInstance(pd.Int64Index([1, 2, 3]), com.ABCIndexClass) |
| 90 | + self.assertIsInstance(pd.Series([1, 2, 3]), com.ABCSeries) |
| 91 | + self.assertIsInstance(self.df, com.ABCDataFrame) |
| 92 | + self.assertIsInstance(self.df.to_panel(), com.ABCPanel) |
| 93 | + self.assertIsInstance(self.sparse_series, com.ABCSparseSeries) |
| 94 | + self.assertIsInstance(self.sparse_array, com.ABCSparseArray) |
| 95 | + self.assertIsInstance(self.categorical, com.ABCCategorical) |
| 96 | + self.assertIsInstance(pd.Period('2012', freq='A-DEC'), com.ABCPeriod) |
105 | 97 |
|
106 | 98 |
|
107 | 99 | def test_notnull():
|
@@ -272,6 +264,8 @@ def test_array_equivalent():
|
272 | 264 | assert not array_equivalent(np.array([np.nan, 1, np.nan]),
|
273 | 265 | np.array([np.nan, 2, np.nan]))
|
274 | 266 | assert not array_equivalent(np.array(['a', 'b', 'c', 'd']), np.array(['e', 'e']))
|
| 267 | + assert array_equivalent(Float64Index([0, np.nan]), Float64Index([0, np.nan])) |
| 268 | + assert not array_equivalent(Float64Index([0, np.nan]), Float64Index([1, np.nan])) |
275 | 269 | assert array_equivalent(DatetimeIndex([0, np.nan]), DatetimeIndex([0, np.nan]))
|
276 | 270 | assert not array_equivalent(DatetimeIndex([0, np.nan]), DatetimeIndex([1, np.nan]))
|
277 | 271 |
|
|
0 commit comments